gulp:pipe typescript输出到mocha

ale*_*ung 6 mocha.js typescript gulp

我想将mocha测试添加到TypeScript项目中.在gulpfile.js我管gulp-typescript和gulp-mocha tegether:

gulp.src(['./test/**/*.ts', './typings/tsd.d.ts'])
  .pipe(typescript())
  .pipe(mocha());
Run Code Online (Sandbox Code Playgroud)

摩卡报告错误Error: Cannot find module '.../myproject/test/case1.js'.

在Google上搜索,我发现的所有示例都是将typescript转换器输出保存到临时文件中,然后使用mocha运行.我还注意到在gulp-mocha文档中它说"你之前不能有任何插件":

gulp.task('default', function () {
    return gulp.src('test.js', {read: false})
        // gulp-mocha needs filepaths so you can't have any plugins before it 
        .pipe(mocha({reporter: 'nyan'}));
});
Run Code Online (Sandbox Code Playgroud)

但是,gulp的一个好处是使用流来省略临时文件.如何将转换器输出管道传输到mocha?或者摩卡是不可能的?

ale*_*ung 0

这是3年前的问题了。我发布我自己的答案来结束它。

我的解决方案是不使用任何像Gulp这样的构建工具,而是直接使用npm脚本。而且在scripty的帮助下,我可以用任何脚本语言编写构建脚本,例如 shell 脚本或 javascript。

这是一个示例:https ://github.com/aleung/node-anyid/blob/master/package.json

参考: 使用 Npm 脚本作为构建工具