Gulp任务仅编译已更改的文件

索斯滕·韦斯特海德(Thorsten Westheider)

我需要编写一个gulp任务,该任务只会编译那些实际上已更改并提出以下内容的Typescript文件:

var gulp = require('gulp');
var print = require('gulp-print');
var newer = require('gulp-newer');
var ts = require('gulp-typescript');

gulp.task('compile:ts', function () {
   return gulp.src([
         'typings/browser.d.ts',
         'app/**/*.ts'
      ])
      .pipe(newer('app'))
      .pipe(print(function (filepath) {
         return 'Compiling ' + filepath + '...';
      }))
      .pipe(ts({
         target: 'es5',
         module: 'commonjs',
         moduleResolution: 'node',
         sourceMap: true,
         emitDecoratorMetadata: true,
         experimentalDecorators: true,
         removeComments: false,
         noImplicitAny: false
      }))
      .pipe(gulp.dest('app'));
});

但是,此任务找不到任何已修改的文件,尽管有些.ts文件的时间戳比其最新的时间戳要新.js

我哪里做错了?

斯文·舍嫩(Sven Schoenung)

但是,此任务找不到任何修改过的文件,尽管存在.ts文件带有比.js相对应的最新时间戳。

那是因为您不是在告诉gulp-newer要比较的.ts文件与.js文件。您正在将.ts文件与其自身进行比较,因此不会检测到任何更改。

您需要告诉gulp-newer您将每个.ts文件与其.js对应文件进行比较

.pipe(newer({dest:'app',ext:'.js'}))

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

仅当文件已使用gulp更改时才编译sass

来自分类Dev

创建源映射的Gulp任务会影响所有文件,而不仅仅是已更改的文件

来自分类Dev

Gulp:如何创建可编译多个SASS文件的任务?

来自分类Dev

Grunt watch:仅上传已更改的文件

来自分类Dev

使用rsync仅复制已更改的文件

来自分类Dev

Gulp-js仅将保存的文件传递给任务

来自分类Dev

即使文件未更改也如何执行gulp任务

来自分类Dev

gulp 文件 babelify 任务

来自分类Dev

更改文件时Gulp不会编译我的Sass

来自分类Dev

更改文件时Gulp不会编译我的Sass

来自分类Dev

Makefile如何知道文件已更改然后重新编译?

来自分类Dev

编译适当的 gulp 文件

来自分类Dev

用于Latex的Makefile:仅生成已更改的文件

来自分类Dev

diff仅显示已更改文件中的添加项

来自分类Dev

C Makefile - 仅重新编译更改的文件

来自分类Dev

仅当先前编译的JavaScript文件已删除时,TypeScript才编译

来自分类Dev

仅当源文件比已编译程序更新时才运行编译脚本

来自分类Dev

将gulp sass编译为服务任务

来自分类Dev

如果添加了新文件,如何仅使用watch运行gulp任务

来自分类Dev

使用gulp-sass在已编译的CSS中从SCSS文件输出行号

来自分类Dev

Gulp Browsersync任务无法通过新文件结构重新加载文件更改

来自分类Dev

Gulp:如何监视多个文件并仅对更改文件执行任务?

来自分类Dev

Gulp:如何监视多个文件并仅对更改文件执行任务?

来自分类Dev

Gulp Browsersync任务无法通过新文件结构重新加载文件更改

来自分类Dev

Gulp文件任务执行顺序

来自分类Dev

Gulp任务删除空文件

来自分类Dev

在gulp任务中删除文件

来自分类Dev

Gulp任务可以复制目录中的所有文件,编译所有SCSS文件,其他文件保持不变?

来自分类Dev

如何在多模块 gradle 项目中仅编译已更改(或相关)的模块

Related 相关文章

  1. 1

    仅当文件已使用gulp更改时才编译sass

  2. 2

    创建源映射的Gulp任务会影响所有文件,而不仅仅是已更改的文件

  3. 3

    Gulp:如何创建可编译多个SASS文件的任务?

  4. 4

    Grunt watch:仅上传已更改的文件

  5. 5

    使用rsync仅复制已更改的文件

  6. 6

    Gulp-js仅将保存的文件传递给任务

  7. 7

    即使文件未更改也如何执行gulp任务

  8. 8

    gulp 文件 babelify 任务

  9. 9

    更改文件时Gulp不会编译我的Sass

  10. 10

    更改文件时Gulp不会编译我的Sass

  11. 11

    Makefile如何知道文件已更改然后重新编译?

  12. 12

    编译适当的 gulp 文件

  13. 13

    用于Latex的Makefile:仅生成已更改的文件

  14. 14

    diff仅显示已更改文件中的添加项

  15. 15

    C Makefile - 仅重新编译更改的文件

  16. 16

    仅当先前编译的JavaScript文件已删除时,TypeScript才编译

  17. 17

    仅当源文件比已编译程序更新时才运行编译脚本

  18. 18

    将gulp sass编译为服务任务

  19. 19

    如果添加了新文件,如何仅使用watch运行gulp任务

  20. 20

    使用gulp-sass在已编译的CSS中从SCSS文件输出行号

  21. 21

    Gulp Browsersync任务无法通过新文件结构重新加载文件更改

  22. 22

    Gulp:如何监视多个文件并仅对更改文件执行任务?

  23. 23

    Gulp:如何监视多个文件并仅对更改文件执行任务?

  24. 24

    Gulp Browsersync任务无法通过新文件结构重新加载文件更改

  25. 25

    Gulp文件任务执行顺序

  26. 26

    Gulp任务删除空文件

  27. 27

    在gulp任务中删除文件

  28. 28

    Gulp任务可以复制目录中的所有文件,编译所有SCSS文件,其他文件保持不变?

  29. 29

    如何在多模块 gradle 项目中仅编译已更改(或相关)的模块

热门标签

归档