Gulp - 做多个构建

时间:2014-08-30 13:07:53

标签: coffeescript gulp

刚开始使用Gulp。

我有超过20个HTML页面,每个页面都有自己的JS文件需要通过Gulp构建。

我有类似以下的内容

gulp.task('compile-coffee', function () {
    // page1    
    gulp.src('./home/coffee/*.coffee')
        .pipe(coffee())
        .pipe(gulp.dest('./home/js'));

    // page2
    gulp.src('./people/coffee/*.coffee')
        .pipe(coffee())
        .pipe(gulp.dest('./people/js'));
    });
})

现在,如果我对/people/coffee/*.coffee文件中的任何文件进行更改,看起来就像编译了page1和page2中的咖啡文件。如果我添加所有20页以上,显然感觉就像一个冗余的步骤。

这样做的更好方法是什么?

1 个答案:

答案 0 :(得分:0)

您可以使用gulp-changed这样的插件:

gulp.task('compile-coffee', function () {
  // page1    
  gulp.src('./home/coffee/*.coffee')
    .pipe(changed('./home/js', { extension: '.js'}))
    .pipe(coffee())
    .pipe(gulp.dest('./home/js'));

  // page2
  gulp.src('./people/coffee/*.coffee')
    .pipe(changed('./people/js', { extension: '.js'}))
    .pipe(coffee())
    .pipe(gulp.dest('./people/js'));
  });
})

请注意,应该提供扩展选项,否则它将无法正常工作。