GulpJS - 如何通过编译仅修改过的`js`文件来节省时间?

时间:2017-05-24 10:20:24

标签: gulp gulp-watch

我已将gulp版本与我的angular应用程序开发集成在一起。每次js,html,css更改时,我都会将文件编译为单个并运行应用程序。

以前很好。当我添加更多js文件时,我迟迟无法通过brower-sync重新加载网页。但我理解每次gulp编译所有文件都是单一的,即使它没有更新。

我的问题是:

  1. 如何仅编译updated个文件并运行brower-sync?这是我的gulp代码:
  2. gulp.task('js', function() { gulp.src(scripts) .pipe(sourcemaps.init()) .pipe(concat('scripts.js')) .pipe(annotate()) .pipe(uglify()) .pipe(sourcemaps.write()) .pipe(gulp.dest('./dist/js')) .pipe(browserSync.reload({ stream: true })); });

    my full gulp code is here

1 个答案:

答案 0 :(得分:-1)

使用gulp-changed

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

gulp.task('js', function() {
    gulp.src(scripts)
        .pipe(changed('./dist/js'))
        .pipe(sourcemaps.init())
        .pipe(concat('scripts.js'))
        .pipe(annotate())
        .pipe(uglify())
        .pipe(sourcemaps.write())
        .pipe(gulp.dest('./dist/js'))
        .pipe(browserSync.reload({
            stream: true
        }));
});