如何使用Gulp将多个TypeScript文件编译成一个JavaScript文件?

4

我有多个typescript文件,想将它们编译成一个单独的javascript文件。到目前为止,我有以下代码:

var typescript = require('gulp-typescript');
gulp.task('typescript', function () {
  gulp.src('wwwroot/app/**/*.ts')
    .pipe(typescript({
      out: 'script.js'
    }))
    .pipe(sourcemaps.init())
    .pipe(sourcemaps.write())
    .pipe(gulp.dest('wwwroot/app'))      
});

我已经在网上搜索了如何完成这个任务,但似乎没有找到有用的信息。我看到‘out’选项会将输出内容连接起来,生成一个单一的文件。有人可以指导我正确的方向吗?到目前为止,我的代码只能为每个typescript文件创建一个javascript文件。


1
typescript 命令之后,您可以使用 gulp-concat - Davin Tryon
1个回答

5

Davin说得对。

从gulp-typescript文档中可以看到:

"文件合并

tsc命令有使用--out参数进行文件合并的功能。而gulp-typescript没有这个功能,因为你应该使用gulp-concat插件来实现这个功能,或者-如果你需要sourcemaps-使用gulp-concat-sourcemaps。

tsc命令使用///<reference path="..." />标签对文件进行排序。启用sortOutput选项后,gulp-typescript也会这样做。你可以使用referencedFrom过滤器只包含被某些文件引用的文件。"


1
答案可能需要修改,因为gulp-typescript现在支持使用out进行合并,详见https://github.com/ivogabe/gulp-typescript#basic-usage。 - Artur Aleksanyan
@ArturAleksanyan 只在“inline-config”模式下支持它,如果您使用外部的 tsconfig.json 文件,则不支持,据我所知。 - shershen

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接