我有一个正在运行react-transform-hmr
热模块重新加载器的React项目,所有这些都运行良好,直到我实现了mocha测试。
当我运行测试时,我收到以下错误:
抛出新错误('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')
}
]
}
谢谢:)
答案 0 :(得分:1)
在package.json中使用以下内容:
"test": "export NODE_ENV=testing|| set NODE_ENV=testing&& mocha --compilers js:babel-core/register --require ./tests/test-helper.js \"./tests/**/*@(.js|.jsx)\"",
这取自here。