我正在使用 babel-cli用于转译 jsx 和 es6 特性
我改变了我的构建命令
来自
"build": "node build",
到
"build": "babel-node build"
,
之前一切正常
但是当我运行构建命令时,我得到了这个错误
错误:locals[0] 似乎不是启用了热模块替换 API 的 module
对象。您应该使用 Babel 配置中的 env
部分在生产环境中禁用 react-transform-hmr。请参阅自述文件中的示例:https://github.com/gaearon/react-transform-hmr
另见截图
所以我应该在 Babel 配置中使用 env
部分在生产中禁用 react-transform-hmr
这是我的 .babelrc,就像说明一样
{
"presets": ["react", "es2015"],
"env": {
"development": {
"plugins": [
["transform-object-rest-spread"],
["transform-react-display-name"],
["react-transform", {
"transforms": [{
"transform": "react-transform-hmr",
"imports": ["react"],
"locals": ["module"]
}, {
"transform": "react-transform-catch-errors",
"imports": ["react", "redbox-react"]
}]
}]
]
},
"production": {
"plugins": [
["transform-object-rest-spread"],
["transform-react-display-name"]
]
}
}
}
我做错了什么?有什么推荐吗?
最佳答案
我必须在命令中添加 NODE_ENV=production
"build": "NODE_ENV=production babel-node build"
关于node.js - 您应该使用 Babel 配置中的 `env` 部分在生产中禁用 react-transform-hmr,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38043231/