如何在柴中转换ES6进口?

时间:2016-01-18 10:45:32

标签: javascript mocha babeljs

我正在使用反应应用程序的最小设置:

  • 的WebPack
  • 巴别
  • React + Flux
  • 摩卡&柴进行测试

我想现在测试我的应用程序。

我有一个.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中的节点脚本如下所示:

  "scripts": {
    "dev": "webpack && webpack-dev-server",
    "test": "mocha --compilers js:babel-core/register --recursive"
  },

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题。在stackoverflow及其他方面尝试了所有其他解决方案之后,package.json上的这个简单配置为我做了:

  "babel": {
    "presets": [
      "es2015"
    ]
  }

之后我所有的ES6进口都有效。 顺便说一句,我在webpack.config.js中有相同的配置,但显然这是使其适用于mocha测试的唯一方法。