2015-11-18 4 views
3

Я пытаюсь использовать Глоток-столпотворение с глотком-мокко следующим образом:Невозможно использовать Глоток-мокко с Вавилонской 6

var mocha = require('gulp-mocha'); 
var babel = require('gulp-babel'); 

gulp.task('test', function() { 
    return gulp.src('test/*.js', {read: false}) 
    .pipe(babel({presets: ['es2015']})) 
    .pipe(mocha()); 
}); 

Но это не похоже на работу с ошибкой, такие как

(function (exports, require, module, __filename, __dirname) { import {assert} 
                   ^^^^^^ 
Unexpected reserved word 

Я документировали этот случай здесь https://github.com/tnguyen14/babel-gulp-mocha-test

Я не уверен, если я делаю что-то не так? Любая помощь была бы чрезвычайно оценена.

EDIT: попробуйте это с помощью узла 0.12. Узел 4.x будет работать, но ничего не докажет, поскольку он уже поддерживает метод ES2015 в тесте здесь, то есть endsWith.

ответ

2

Что я пропускал это babel-polyfill. Предварительная установка es2015 не обеспечивает новых функциональных возможностей ES2015, она просто помогает с новым синтаксисом.

Добавление полиполнения решает эту проблему. Более подробную информацию здесь можно найти здесь https://phabricator.babeljs.io/T2967

1

Он работает со следующими, в сочетании с .babelrc:

var gulp = require('gulp'); 
var babel = require('gulp-babel'); 
var mocha = require('gulp-mocha'); 
require("babel-core/register"); 

gulp.task('test', function() { 
    return gulp.src('test/*.js', {read: false}) 
     .pipe(babel()) 
     .pipe(mocha({ 
      ui: 'tdd' 
     })); 
}); 
+0

Я просто попробовал, и он не работает. какую версию узла вы используете? Я вижу эту проблему на узле 0.12 (который не поддерживает 'endsWith', что является целью использования babel для). –

+0

Я использую узел 4.1.2 – dSebastien