首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >运行heroku本地web时未识别的babel节点

运行heroku本地web时未识别的babel节点
EN

Stack Overflow用户
提问于 2017-03-07 14:21:14
回答 2查看 3K关注 0票数 5

我尝试在Heroku上部署Node.js API,但显示了应用程序错误。

因此,使用"heroku本地web“命令测试任何error..and都会出现错误,即'babel-node‘不被识别为内部或外部命令、可操作的程序或批处理文件.

另一方面,当我运行命令'npm‘时,我没有收到任何错误,服务器也开始运行。

package.json

代码语言:javascript
复制
 {
      "name": "apollo-starter-kit",
      "version": "0.1.0",
      "description": "Minimal set of code to write a GraphQL server with Apollo graphql-tools",
      "scripts": {
        "start": "nodemon ./server.js --exec babel-node",
        "test": "echo \"Error: no test specified\" && exit 1",
        "lint": "eslint ."
      },
      "repository": {
        "type": "git",
        "url": "git+https://github.com/apollostack/apollo-starter-kit.git"
      },
      "keywords": [
        "Node.js",
        "Javascript",
        "GraphQL",
        "Express",
        "Apollo",
        "Meteor"
      ],
      "author": "Jonas Helfer <jonas@helfer.email>",
      "license": "MIT",
      "bugs": {
        "url": "https://github.com/apollostack/apollo-starter-kit/issues"
      },
      "homepage": "https://github.com/apollostack/apollo-starter-kit#readme",
      "dependencies": {
        "apollo-server": "^0.1.2",
        "casual": "^1.5.10",
        "cors": "^2.8.1",
        "express": "^4.13.4",
        "lodash": "^4.17.4",
        "mongoose": "^4.8.1",
        "sequelize": "^3.30.2",
        "sqlite": "^2.3.0"
      },
      "devDependencies": {
        "babel-cli": "6.5.1",
        "babel-core": "^6.5.2",
        "babel-eslint": "^6.0.0-beta.6",
        "babel-loader": "6.2.3",
        "babel-plugin-inline-import": "^2.0.1",
        "babel-polyfill": "6.5.0",
        "babel-preset-es2015": "6.5.0",
        "babel-preset-react": "^6.5.0",
        "babel-preset-stage-0": "6.5.0",
        "casual": "^1.5.10",
        "eslint": "^2.4.0",
        "eslint-config-airbnb": "^6.1.0",
        "eslint-plugin-import": "^1.1.0",
        "eslint-plugin-react": "^4.2.3",
        "graphql": "^0.6.0",
        "nodemon": "^1.9.1"
      },
      "peerDependencies": {
        "graphql": "^0.5.0 || ^0.6.0"
      },
      "eslintConfig": {
        "parser": "babel-eslint",
        "extends": [
          "airbnb/base",
          "plugin:import/errors"
        ],
        "rules": {
          "no-use-before-define": 0,
          "arrow-body-style": 0,
          "dot-notation": 0,
          "no-console": 0
        },
        "env": {
          "mocha": true
        }
      }
    }
EN

回答 2

Stack Overflow用户

发布于 2017-03-07 17:23:15

我认为最有可能的原因是babel是开发依赖项的一部分,而这些依赖项在默认情况下并不是通过正式的node.js构建包安装的。将NPM_CONFIG_PRODUCTION更改为false,它应该可以工作。

可以使用命令行。

代码语言:javascript
复制
heroku config:set NPM_CONFIG_PRODUCTION=false

您可以随时登录到Heroku dyno,以检查所有安装是否正确。

代码语言:javascript
复制
heroku run bash
票数 5
EN

Stack Overflow用户

发布于 2019-05-23 01:17:16

您不应该在生产中使用babel节点。它不必要地繁重,由于缓存存储在内存中,内存使用率很高。您还将始终经历启动性能的损失,因为整个应用程序需要动态编译。

参考文献:https://medium.com/@Cuadraman/how-to-use-babel-for-production-5b95e7323c2f

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42650690

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档