如何运行gulp.watch多个任务同步?
How to run gulp.watch multiple tasks synchronized?
例如,下面的代码将运行任务异步化,但我希望它们一个接一个运行。所以"concat"应该先完成,然后运行"autoprefix",然后运行"minify".
gulp.task("watch", function ()
{
gulp.watch("*.css", ["concat", "autoprefix", "minify"]);
});
在此示例中,我想连接我的 css 文件,然后是自动前缀属性,然后缩小连接的文件。
但这会运行所有任务同时进行。
这意味着我的缩小文件(这是我想在 html 中使用的文件)不是最新的,因为文件在 "autoprefix" 任务完成之前被缩小了。
那么如何让它们 运行 一个接一个地同步?
Gulp 4.0(目前为 3.9.1)能够在 sequence/series.
中执行 运行 任务
https://github.com/gulpjs/gulp/blob/4.0/docs/API.md#gulpseriestasks
现在,您可以使用 run-sequence
包。
只需安装npm install gulp-sequence --save-save
。
const gulpSequence = require('gulp-sequence');
gulp.task("watch", function (){
gulp.watch("*.css", gulpSequence("concat", "autoprefix", "minify"));});
命令gulp watch
注意:您必须包括其他 gulp。
自从 Gulp 4 发布以来,它在没有任何依赖项的情况下得到了原生支持。我在文档中看到 link 但不是非常简单的语法:
gulp.task("watch", function ()
{
gulp.watch("*.css", gulp.series( concat, autoprefix, minify ) );
});
例如,下面的代码将运行任务异步化,但我希望它们一个接一个运行。所以"concat"应该先完成,然后运行"autoprefix",然后运行"minify".
gulp.task("watch", function ()
{
gulp.watch("*.css", ["concat", "autoprefix", "minify"]);
});
在此示例中,我想连接我的 css 文件,然后是自动前缀属性,然后缩小连接的文件。
但这会运行所有任务同时进行。
这意味着我的缩小文件(这是我想在 html 中使用的文件)不是最新的,因为文件在 "autoprefix" 任务完成之前被缩小了。
那么如何让它们 运行 一个接一个地同步?
Gulp 4.0(目前为 3.9.1)能够在 sequence/series.
中执行 运行 任务https://github.com/gulpjs/gulp/blob/4.0/docs/API.md#gulpseriestasks
现在,您可以使用 run-sequence
包。
只需安装npm install gulp-sequence --save-save
。
const gulpSequence = require('gulp-sequence');
gulp.task("watch", function (){
gulp.watch("*.css", gulpSequence("concat", "autoprefix", "minify"));});
命令gulp watch
注意:您必须包括其他 gulp。
自从 Gulp 4 发布以来,它在没有任何依赖项的情况下得到了原生支持。我在文档中看到 link 但不是非常简单的语法:
gulp.task("watch", function ()
{
gulp.watch("*.css", gulp.series( concat, autoprefix, minify ) );
});