【发布时间】:2016-08-29 09:32:44
【问题描述】:
我有一个 React 项目,它正在运行 react-transform-hmr 热模块重新加载器,并且在我实施 mocha 测试之前一切都运行良好。
当我运行测试时,出现以下错误:
throw new Error('locals[0] 似乎不是
module对象 启用了热模块“+”替换 API。你应该禁用 使用 Babel 中的env部分在 ' + ' 生产中进行 react-transform-hmr 配置。请参阅 README 中的“+”示例: https://github.com/gaearon/react-transform-hmr');
我用谷歌搜索了这个,发现一些信息提到将热模块重新加载设置从 .babelrc 文件中移到 Webpack 配置中,我这样做了,并且测试运行良好,但是热模块重新加载不是工作。
在玩了之后,没有让两者一起工作,我已经恢复并认为我会寻求一些帮助,因为我真的被困住了。有什么想法我能做什么?
我的 babel 配置如下:
{
"presets": ["react", "es2015", "stage-1"],
"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"]
]
}
}
}
我的 webpack 配置如下:
module: {
loaders: [
// js
{
test: /\.js$/,
loaders: ['babel'],
include: path.join(__dirname, 'client')
}
]
}
谢谢你:)
【问题讨论】:
标签: javascript reactjs