0

我需要从我的 gulpfile 中最小化 gulp 命令的数量。

这是我的 JS 文件夹

js/
   templates/
              t-01/
              t-02/
              [...]
              t-xxx/

我对 JS 的 gulp 任务(使用 livereload)

gulp.task('da-js', function() {
    gulp.src([
        'js/templates/**/*.js',
        '!js/templates/**/*.min.js'
        ])
        .pipe(concat('app.min.js'))
        .pipe(gulp.dest('js/templates'))
        .pipe(livereload());
});

此任务是全局目标文件夹,templates但我想检测 js 文件的当前文件夹,例如:

  1. 我正在更改 js/templates/t-01/
  2. gulp.watch正在发射
  3. app.min.js仅在此文件夹中生成t-01

我知道gulp.dest目标当前文件夹不正确,但我不知道该怎么做。

谢谢您的帮助 :)

4

1 回答 1

0

您可以使用 gulp 的watch方法来监视包含 JS 文件的文件夹以进行更新,并运行一系列任务以响应某些更改。

gulp.task('watch-files', function() {
    gulp.watch('js/templates/**/*.js', ['da-js']);
}); 

在这里,我们正在查看模板中的所有 JS 文件及其所有子文件夹,并da-js为每次更新运行文件连接任务 ( )。现在我们正在执行相同的任务,app.min.js即使templates您更改templates/t-01/some.js.

使用watch-files您定义的任务gulpfile.js,您可以简单地运行gulp watch-files将开始监控您的文件的命令。

于 2015-12-10T15:39:41.543 回答