运行mocha时,Unexpected token
如果我在应用程序中使用对象传播运算符,它将突然中断并显示错误消息:
SyntaxError: ../app/middleware/api.js: Unexpected token (30:13)
28 |
29 | // Dispatch beginning action
> 30 | dispatch({ ...payload, type: startAction });
将其替换为Object.assign
可解决此问题。我将transform-object-rest-spread
插件包含在webpack.config.js
文件中,如下所示:
module: {
loaders: [{
test: /\.js?$/,
exclude: /(node_modules|bower_components)/,
loader: 'babel',
query: {
presets: ['stage-2','es2015','react'],
plugins: ['transform-class-properties', 'transform-object-rest-spread']
}
}]
}
该应用程序在浏览器中运行良好,这使我相信可以像这样运行摩卡:
mocha './app/tests/*.spec.js' --compilers js:babel-register --recursive
不包括babel插件。
有没有办法让它们包括在内?
由于配置位于webpack.config.js
文件内部,因此Babel仅在通过Webpack运行时才编译文件。通过Mocha运行文件时,Babel无需任何配置即可运行。
您应该将配置移到.babelrc
项目中的文件中,该文件包含:
{
presets: ['stage-2','es2015','react'],
plugins: ['transform-class-properties', 'transform-object-rest-spread']
}
并从您的webpack配置中删除该配置。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句