Reactjs 网页包、React&;Mocha测试:缺少类属性转换
我有这个问题已经一个多星期了。代码在浏览器中运行得很好,没有错误,但是当我运行Reactjs 网页包、React&;Mocha测试:缺少类属性转换,reactjs,babeljs,Reactjs,Babeljs,我有这个问题已经一个多星期了。代码在浏览器中运行得很好,没有错误,但是当我运行mochatest时,我得到了缺少类属性转换的错误。我通过npm安装了它,甚至删除了我的软件包并重新安装了它们,但仍然一无所获。我在这里(即)读了很多帖子,我仍然会犯这个错误。我错过了什么?谢谢你的帮助 webpack.config.js: ... module: { loaders: [ { test: /\.(js|jsx)$/,
mochatest
时,我得到了缺少类属性转换的错误。我通过npm安装了它,甚至删除了我的软件包并重新安装了它们,但仍然一无所获。我在这里(即)读了很多帖子,我仍然会犯这个错误。我错过了什么?谢谢你的帮助
webpack.config.js:
...
module: {
loaders: [
{
test: /\.(js|jsx)$/,
include: [
path.resolve(__dirname, "public/app")
],
exclude: /node_modules/,
loaders: [
'react-hot',
'babel?presets[]=react,presets[]=es2015,presets[]=stage-0'
],
loader: 'babel',
query: {
"plugins": ['transform-decorators-legacy']
}
},
{
test: /\.json?$/,
loader: 'json'
},
{
test: /\.css$/,
loaders: ['style', 'css']
},
{
test: /\.less$/,
loader: ExtractTextPlugin.extract('style-loader', 'css-loader!less-loader')
}
]
}
...
.LRC:
{
"presets": ["react", "es2015", "stage-0"],
"plugins": [
"transform-class-properties"
]
}
package.json:
...
"babel-loader": "^6.2.4",
"babel-plugin-react-transform": "^2.0.2",
"babel-plugin-transform-class-properties": "^6.11.5",
"babel-preset-es2015": "^6.9.0",
"babel-preset-react": "^6.5.0",
"babel-preset-react-hmre": "^1.1.1",
"babel-preset-stage-0": "^6.5.0",
"babel-preset-survivejs-kanban": "^0.3.3",
"babel-relay-plugin-loader": "^0.9.0",
...
"css-loader": "^0.23.1",
...
"style-loader": "^0.13.1",
...
如果需要,我可以提供任何其他细节。如果看到整个代码库会有所帮助,您可以在这里看到:
摩卡没有查看你的webpack.config,它是一个独立的系统。要让mocha通过babel加载测试,您需要标记它
mocha test --require babel-core/register
您是否正在使用npm test
运行mocha测试,就像您当前的包json一样?Hi@azium。我目前正在使用mochatest
运行测试。我在npm测试中也遇到了同样的错误。谢谢!这会取代我当前package.json文件中的test
?我试图运行mocha测试——在终端中要求babel core/register
,但它抛出了相同的错误。尝试将脚本:test
替换为package.json中的那一行,然后运行npm测试
看看是否得到相同的结果。按照您的方式,mocha可能正在寻找全球安装的babel packagesOk替换掉了该部分,但我仍然收到该错误。我还将研究您提到的全球安装的东西。您可能会与您的test.babel.js
发生冲突。也许你应该把它去掉?您没有像在.babelrcAh中那样在该文件中包含所需的预设,test.babel.js
就是这样!而不是require('babel-core/register')({presets:['es2015'],})代码>我将其更改为require('babel-core/register')({预设:[“react”、“es2015”、“stage-0”]})代码>而且效果很好。谢谢你的提示!