为什么"gulp-jest"失败了:"请运行带有--harmony标志的节点!"?

Mis*_*hko 4 reactjs gulp jestjs gulp-jest

运行时出现以下错误gulp test:

Error: Please run node with the --harmony flag!
Run Code Online (Sandbox Code Playgroud)

这是我的gulp任务:

var jest = require('gulp-jest');

gulp.task('test', function() {
  return gulp.src('src/**/__tests__').pipe(jest({
    rootDir: 'src',
    scriptPreprocessor: '../node_modules/6to5-jest',
    unmockedModulePathPatterns: [ 'react' ]
  }));
});
Run Code Online (Sandbox Code Playgroud)

重现:https://github.com/SEEK-Jobs/react-playground

请注意,它npm test正常工作(测试按预期gulp test失败),但失败并出现上述错误.双方npm testgulp test具有相同的配置对象:

{
  rootDir: 'src',
  scriptPreprocessor: '../node_modules/6to5-jest',
  unmockedModulePathPatterns: [ 'react' ]
}
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

小智 7

据我所知,错误被抛出jest-cli.

你没有得到它的原因npm test是你可能配置npm直接运行jest bin脚本,它使用harmonize以编程方式设置--harmony标志.

你可以通过安装harmonize并require('harmonize')()输入你的gulpfile来解决.