1

我正在创建一个 hapi api 种子项目。我选择在项目的源代码中使用 es6 语法。我使用 hapi-lab 作为我的测试框架。它是集成的,我可以通过 package.json 文件中的引用使用“npm test”运行它。

"scripts": {
    "test": "lab -T ./node_modules/lab-babel -I __core-js_shared__"
  }
  ...
  //from the cmd line
  npm test

这工作正常 - 尽管我在测试中使用 es6 语法:

import Server from '../../src/server.js';
import Code from 'code';
import Lab from  'lab';

我希望能够从 gulp 运行测试。我正在使用“gulp-lab”。它开始运行,但随后引发错误。

SyntaxError: Unexpected reserved word 

它指向使用 import - 我得到它的 es6。所以我尝试在将测试 js 发送到实验室之前通过 babel 管道传输它(见下文)。不幸的是我得到了同样的错误。

这是我的 gulp 文件的相关部分 - 有什么建议吗?

import gulp from 'gulp';
import babel from 'gulp-babel';
import lab from 'gulp-lab';   

    gulp.task('test', function () {
        return gulp.src('test/**/*.js')
            .pipe(babel())
            .pipe(lab());
       });

如果对了解构建如何工作有用,我可以发布 gulp 文件的其余部分。

这是我的 .babelrc 文件:

//use es2015 preset to convert es6 js to es5 equivalent
{
    "presets": [ "es2015" ],
    'plugins': [
        'transform-es2015-template-literals',
        'transform-es2015-block-scoping'
    ]
}
4

0 回答 0