我正在创建一个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
它指向导入的使用 - 我将其作为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'
]
}