为什么 "gulp-jest" 失败:"Please run node with the --harmony flag!"?

Why "gulp-jest" is failing with: "Please run node with the --harmony flag!"?

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

Error: Please run node with the --harmony flag!

这是我的 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' ]
  }));
});

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

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

{
  rootDir: 'src',
  scriptPreprocessor: '../node_modules/6to5-jest',
  unmockedModulePathPatterns: [ 'react' ]
}

我做错了什么?

这是 gulp-eslint 中的错误,现已在 0.3.0 版本中修复。

据我所知,错误来自 jest-cli

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

您可以通过安装 harmonize 并将 require('harmonize')() 放入您的 gulpfile 来修复。