gulp任务完成所有文件后运行代码

Ryanzec

因此,我一直在尝试Gulp,看看它在速度上与Grunt相比如何,我对结果印象深刻,但是我有一件事我不知道如何在Gulp中进行。

因此,我有这个任务来缩小HTML:

gulp.task('html-minify', function() {
  var files = [
    relativePaths.webPath + '/*.html',
    relativePaths.webPath + '/components/**/*.html',
    relativePaths.webPath + '/' + relativePaths.appPath + '/components/**/*.html'
  ];

  var changedFiles = buildMetaData.getChangedFiles(files);

  //TODO: needs to execute only after successful run of the task
  buildMetaData.addBuildMetaDataFiles(changedFiles);
  buildMetaData.writeFile();
  return gulp.src(changedFiles, {
      base: relativePaths.webPath
    })
    .pipe(filelog())
    .pipe(minifyHtml({
      empty: true,
      quotes: true,
      conditionals: true,
      comments: true
    }))
    .pipe(gulp.dest(relativePaths.webPath + '/' + relativePaths.appPath +  '/' + relativePaths.buildPath));
});

buildMetaData对象具有我需要的自定义功能,以及为什么不能使用像gulp-changed这样的插件。我要弄清楚的是,缩小完成后如何(如果可能)运行代码块来处理所有文件并成功运行。gulp有可能发生这种情况吗?

Ben

您可以根据以下条件完成一项任务html-minify

gulp.task('other-task', ['html-minify'], function() {
  //stuff
});

您还可以endhtml-minify任务中监听stream事件

gulp.task('html-minify', function(done) {
  var files = [
    relativePaths.webPath + '/*.html',
    relativePaths.webPath + '/components/**/*.html',
    relativePaths.webPath + '/' + relativePaths.appPath + '/components/**/*.html'
  ];

  var changedFiles = buildMetaData.getChangedFiles(files);

  //TODO: needs to execute only after successful run of the task
  buildMetaData.addBuildMetaDataFiles(changedFiles);
  buildMetaData.writeFile();
  var stream = gulp.src(changedFiles, {
      base: relativePaths.webPath
    })
    .pipe(filelog())
    .pipe(minifyHtml({
      empty: true,
      quotes: true,
      conditionals: true,
      comments: true
    }))
    .pipe(gulp.dest(relativePaths.webPath + '/' + relativePaths.appPath +  '/' + relativePaths.buildPath));

  stream.on('end', function() {
    //run some code here
    done();
  });
  stream.on('error', function(err) {
    done(err);
  });
});

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

laravel-在队列完成所有任务后运行任务

来自分类Dev

所有线程完成运行后,如何运行代码?

来自分类Dev

完成其他任务后运行gulp任务

来自分类Dev

加载文件后运行gulp任务

来自分类Dev

运行多个异步任务,并在所有任务完成后获得通知

来自分类Dev

完成所有任务后,如何在gulp中处理通知?

来自分类Dev

gulp任务完成后以任何方式运行函数

来自分类Dev

Azure 持久功能 - 即使在完成所有任务后,状态仍在运行

来自分类Dev

从gulp v3更改为v4后,gulp.series不会运行所有应用的任务

来自分类Dev

使用Laravel Elixir运行Gulp任务不会版本所有js文件

来自分类Dev

如何获取异步代码以等待所有任务完成?

来自分类Dev

完成所有ExecutorService任务后,程序不会立即终止

来自分类Dev

完成特定任务后清除所有事物

来自分类Dev

等待所有任务完成

来自分类Dev

在所有ajax请求完成后执行代码

来自分类Dev

Angular完成加载所有视图后运行Javascript

来自分类Dev

直到所有任务都在[asyncio]中完成后,如何立即获得某人任务的返回?

来自分类Dev

仅在所有任务完成后才调用URLSession下载任务委托

来自分类Dev

并行运行多个任务(变量编号),并在所有任务完成后继续

来自分类Dev

gulp在运行任务后不会退出

来自分类Dev

任务完成后,JavaFX执行代码

来自分类Dev

完成脚本php后删除脚本创建的所有文件

来自分类Dev

在Visual Studio中保存一些javascript文件后自动运行gulp任务

来自分类Dev

如何使用Gulp Watch仅在修改后的文件上运行任务

来自分类Dev

有没有办法在进程完成操作后运行任务?

来自分类Dev

异步任务完成后写入文件

来自分类Dev

运行所有代码后显示的C#异步窗口

来自分类Dev

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

来自分类Dev

即使进程以代码 0 终止,Gulp 任务也不会完成

Related 相关文章

  1. 1

    laravel-在队列完成所有任务后运行任务

  2. 2

    所有线程完成运行后,如何运行代码?

  3. 3

    完成其他任务后运行gulp任务

  4. 4

    加载文件后运行gulp任务

  5. 5

    运行多个异步任务,并在所有任务完成后获得通知

  6. 6

    完成所有任务后,如何在gulp中处理通知?

  7. 7

    gulp任务完成后以任何方式运行函数

  8. 8

    Azure 持久功能 - 即使在完成所有任务后,状态仍在运行

  9. 9

    从gulp v3更改为v4后,gulp.series不会运行所有应用的任务

  10. 10

    使用Laravel Elixir运行Gulp任务不会版本所有js文件

  11. 11

    如何获取异步代码以等待所有任务完成?

  12. 12

    完成所有ExecutorService任务后,程序不会立即终止

  13. 13

    完成特定任务后清除所有事物

  14. 14

    等待所有任务完成

  15. 15

    在所有ajax请求完成后执行代码

  16. 16

    Angular完成加载所有视图后运行Javascript

  17. 17

    直到所有任务都在[asyncio]中完成后,如何立即获得某人任务的返回?

  18. 18

    仅在所有任务完成后才调用URLSession下载任务委托

  19. 19

    并行运行多个任务(变量编号),并在所有任务完成后继续

  20. 20

    gulp在运行任务后不会退出

  21. 21

    任务完成后,JavaFX执行代码

  22. 22

    完成脚本php后删除脚本创建的所有文件

  23. 23

    在Visual Studio中保存一些javascript文件后自动运行gulp任务

  24. 24

    如何使用Gulp Watch仅在修改后的文件上运行任务

  25. 25

    有没有办法在进程完成操作后运行任务?

  26. 26

    异步任务完成后写入文件

  27. 27

    运行所有代码后显示的C#异步窗口

  28. 28

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

  29. 29

    即使进程以代码 0 终止,Gulp 任务也不会完成

热门标签

归档