【问题标题】:Unable to use gulp-mocha with babel 6无法将 gulp-mocha 与 babel 6 一起使用
【发布时间】:2015-11-18 14:40:28
【问题描述】:

我正在尝试将 gulp-babel 与 gulp-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

【问题讨论】:

    标签: gulp mocha.js babeljs


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      它与以下内容一起使用,与 .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.12 上看到了这个问题(它不支持 endsWith,这是使用 babel 的全部意义)。
      猜你喜欢
      • 2018-11-23
      • 1970-01-01
      • 2015-12-17
      • 1970-01-01
      • 2014-10-27
      • 1970-01-01
      • 1970-01-01
      • 2017-01-18
      • 1970-01-01
      相关资源
      最近更新 更多