[英]How to solve the error: SyntaxError: Unexpected token import
之前遇到此错误,并看到了其他答案,但解决方案无法解决我的问题。
在我的package.json中,我有:
"dependencies": {
"axios": "^0.15.2",
"babel": "^6.5.2",
"babel-core": "^6.13.1",
"babel-loader": "^6.0.1",
"babel-preset-es2015": "^6.0.15",
"babel-preset-node5": "^11.1.0",
"babel-preset-react": "^6.0.15",
"babel-preset-stage-0": "^6.0.15",
"babel-preset-stage-2": "^6.11.0",
然后在我的webpack.config.js中,我有:
module.exports = {
entry: './main.js',
然后在我的main.js中,我有:
import "./src";
然后,我运行npm test
调用此脚本:
"scripts": {
"test": "mocha src/**/*.spec.js",
然后失败了,因为在src / components / header / index.spec.js:1中,我有: import React from 'react';
无法解决为什么不起作用
我在其中有一个.babelrc
文件:
{
"sourceMaps": true,
"presets": ["es2015", "react", "stage-2"]
}
在我的webpack中,我还有:
module: {
loaders: [
{
test: /\.js$/,
exclude: /node_modules/,
loader: 'babel',
query: {
presets: ['es2015', 'react', 'stage-2']
}
},
{
test: /\.scss$/,
loaders: ["style-loader", "css-loader", "sass-loader"]
}
]
}
有任何想法吗?
您可以转到babel设置页面并选择您的测试框架,然后它可以帮助您逐步将测试框架与babel集成。可能是您的测试脚本编写为:
"mocha --compilers js:babel-register src/**/*.spec.js"
当您通过mocha命令执行测试时,它将在没有ES6的情况下在node.js中执行您的测试脚本,因为V8尚未实现ES6。
您可以使用摩卡咖啡的编译器。 您拥有babel-core,可以使用此命令(以您的情况为佳):
mocha src/**/*.spec.js --compilers js:babel-core/register
或安装独立的babel-register(babel-register模块)并使用:
mocha --compilers js:babel-register
详情请见: http : //jamesknelson.com/testing-in-es6-with-mocha-and-babel-6/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.