当我部署到 Heroku 时,出现以下 NPM 错误。我的项目是 mern stack .
错误:找不到相对于目录“/app”的预设“es2015”
软件包似乎安装正确,我正确设置了 .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-polyfill
和 css-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/