javascript - NPM 错误找不到当前 "es2015"- babel/node/react

标签 javascript node.js heroku npm babeljs

当我部署到 Heroku 时,出现以下 NPM 错误。我的项目是 mern stack .

错误:找不到相对于目录“/app”的预设“es2015”

enter image description here

软件包似乎安装正确,我正确设置了 .babelrc 文件,除了父目录不同之外,本地与远程相比没有任何不同。在 Heroku 上,父目录显然是“app”。这些是我的 NPM 包:

  "dependencies": {
    "babel-core": "^6.7.2",
    "babel-polyfill": "^6.7.4",
    "body-parser": "~1.12.0",
    "cookie-parser": "~1.3.4",
    "css-modules-require-hook": "^4.0.0",
    "debug": "~2.1.1",
    "express": "~4.12.2",
    "react": "^0.14.7",
    "react-dom": "^0.14.7",
    "react-redux": "^4.4.1",
    "react-router": "^2.0.1",
    "redux": "^3.3.1",
    "serve-favicon": "~2.2.0",
    "webpack": "^1.12.13"
  },
  "devDependencies": {
    "babel-eslint": "^5.0.0",
    "babel-loader": "^6.2.4",
    "babel-plugin-react-transform": "^2.0.2",
    "babel-polyfill": "^6.7.4",
    "babel-preset-es2015": "^6.6.0",
    "babel-preset-react": "^6.5.0",
    "babel-preset-react-hmre": "^1.1.1",
    "babel-register": "^6.7.2",
    "css-modules-require-hook": "^4.0.0",
    "redux-devtools": "^3.1.1",
    "redux-devtools-dock-monitor": "^1.1.0",
    "redux-devtools-log-monitor": "^1.0.4",
    "webpack-dev-middleware": "^1.5.1",
    "webpack-hot-middleware": "^2.10.0"
  }

此外,npm start 运行 index.js,其中包含以下内容:

require('babel-core/register');
require('babel-polyfill');
require('css-modules-require-hook');
require('./server/index');

我实际上遇到了 babel-polyfillcss-modules-require-hook 未找到的错误(不幸的是我不记得了),但是当我将它们从我的 devDependency 添加到我的依赖项中,它似乎可以自行解决。确定实际放置哪些包是相当困难的(有什么提示吗?)。我真的很感激一些指导!

最佳答案

据我了解,heroku 默认添加 --product 标志,这反过来不会安装您的开发依赖项。我会将创建 devDep 构建所需的所有依赖项移至依赖项。 或

heroku config:set NPM_CONFIG_PRODUCTION=false

关于javascript - NPM 错误找不到当前 "es2015"- babel/node/react,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36323011/

相关文章:

ruby-on-rails - Rails 5 Heroku 部署错误:ExecJS::ProgramError: SyntaxError: 意外的 token :名称(autoRegisterNamespace)

javascript - 在html中旋转图像

javascript - Ant 设计 Vue : Carousel arrows disappear when there's only one div content

javascript - TypeScript 2.4.1 -> fontWeight -> 类型 'number' 不可分配给类型 '"inherit"| 400 |

heroku - Heroku Cedar 的生产中未定义 Gmaps

ruby-on-rails - 使用 mongolab 的 Heroku 的 mongodb.yml

javascript - 通过 JavaScript 使(可能是动态加载的)元素可点击,但优先考虑包含在其中的链接

javascript - Node.js 中的 setTimeout 细微差别

node.js - 在启动时将前端文件构建到 Node.js Express 项目中

node.js - 使用nodejs像伪终端一样启动bash