不能和babel 6一起喝一口摩卡



我正在尝试将gullow babel与gullow mocha一起使用,如下所示:

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

我不确定我是不是做错了什么?任何帮助都将不胜感激。

编辑:请使用节点0.12尝试此操作。Node 4.x只会工作,但不会证明什么,因为它在这里的测试中已经支持ES2015方法,即endsWith

我缺少的是babel-polyfilles2015预设不提供新的ES2015功能,它只是帮助使用更新的语法。

添加polyfill解决了这个问题。点击此处查看此问题的更多详细信息https://phabricator.babeljs.io/T2967

它与以下内容结合使用,并与.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'
        }));
});

最新更新