您应该使用 Babel 配置中的 `env` 部分在生产中禁用 react-transform-hmr
Posted
技术标签:
【中文标题】您应该使用 Babel 配置中的 `env` 部分在生产中禁用 react-transform-hmr【英文标题】:You should disable react-transform-hmr in production by using `env` section in Babel configuration 【发布时间】:2016-10-28 20:01:26 【问题描述】:我正在使用 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"]
]
我做错了什么?有什么推荐吗?
【问题讨论】:
如果你使用 gulp:***.com/questions/28787457/… 【参考方案1】:我必须将 NODE_ENV=production 添加到命令中
"build": "NODE_ENV=production babel-node build"
【讨论】:
这根本不能解决问题,你只是通过不构建开发环境来解决它。以上是关于您应该使用 Babel 配置中的 `env` 部分在生产中禁用 react-transform-hmr的主要内容,如果未能解决你的问题,请参考以下文章