2016-01-18 2 views
4

Я использую наималейшую минимальную установку для реакции приложения:Как перенести импорт ES6 в Chai?

  • Webpack
  • Бабель
  • React + флюс
  • Мокко & 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 

Итак, я, по-видимому transpiling файл test.js, но импорт не будет transpile к ES5.

Что я могу сделать, как это минимальная настройка выглядеть (без использования Grunt или любой другой).

EDIT: Мой узел скрипты внутри package.json выглядеть следующим образом:

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

'mocha --compilers js: babel-core/register --recursive' должно быть' mocha --compilers js: babel-register --recursive'. В зависимости от разных версий c. –

ответ

0

Я столкнулся с той же проблемой. Испробовав все другие решения на StackOverflow и запредельном, эта простая конфигурация на package.json сделала это для меня:

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

Всего моего импорт ES6 работал после этого. Кстати, у меня была такая же конфигурация внутри webpack.config.js, но, видимо, это был единственный способ заставить его работать и на мокко-тестирование.

Смежные вопросы