我正在创建一个 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'
]
}