我正在使用最简单的设置来创建一个React应用程序:
- Webpack
- Babel
- React + Flux
- Mocha & Chai 用于测试
现在,我想要测试我的应用程序。
我有一个名为.babelrc的文件,其中包含以下内容:
{
"presets": ["es2015"],
"ignore": false
}
我的测试看起来像这样:
而我的测试则长成这样:
import { expect, assert } from 'chai';
import AppStore from '../src/js/stores/app-store';
describe('app store', () => {
assert.equal(3,3);
});
当我注释掉第二个导入时,它可以正常工作。
当我导入我的AppStore时,我收到了这个错误信息:
(function (exports, require, module, __filename, __dirname) { import { dispatch, register } from '../dispatchers/app-dispatcher';
^^^^^^
SyntaxError: Unexpected token import
所以,显然我正在转译test.js文件,但是导入的内容无法转译为ES5。
我该怎么办?最小设置是什么样子的(不使用Grunt或其他工具)。
编辑:我的package.json中的node脚本如下:
"scripts": {
"dev": "webpack && webpack-dev-server",
"test": "mocha --compilers js:babel-core/register --recursive"
},
mocha --compilers js:babel-core/register --recursive
应该改为mocha --compilers js:babel-register --recursive
,具体根据不同的版本而定。 - Henrik Andersson