当我运行mocha时,Unexpected token如果我在我的应用程序中使用对象扩展运算符,它会突然中断并出现错误:
SyntaxError: ../app/middleware/api.js: Unexpected token (30:13)
28 |
29 | // Dispatch beginning action
> 30 | dispatch({ ...payload, type: startAction });
Run Code Online (Sandbox Code Playgroud)
更换它可以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']
}
}]
}
Run Code Online (Sandbox Code Playgroud)
该应用程序在浏览器中工作正常,这让我相信像这样运行摩卡:
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']
}
Run Code Online (Sandbox Code Playgroud)
并从您的webpack配置中删除配置.
| 归档时间: |
|
| 查看次数: |
2711 次 |
| 最近记录: |