Gulp 在吞咽任务中等待完成

Gulp 在吞咽任务中等待完成,gulp,Gulp,我在gulpSequence中指定了一些吞咽任务,如下所示: gulp.task('default', function(done){ gulpSequence( 'private:clean', 'private:copy-app-package-file', 'private:copy-app-main-file', 'private:copy-libs', 'private:copy-app-files

我在
gulpSequence
中指定了一些吞咽任务,如下所示:

gulp.task('default', function(done){
    gulpSequence(
        'private:clean',
        'private:copy-app-package-file',
        'private:copy-app-main-file',
        'private:copy-libs',
        'private:copy-app-files',
        'private:copy-css-files',
        'private:build-html',
        'private:package-app',
        done);
});
我想他们应该一个接一个地跑。
buildhtml
任务需要libs、app文件和css文件,因为它们包含在一个html文件中

但是如果我运行默认任务,构建html任务将丢失一些文件。例如,任务只能在html文件中插入10个文件,但有16个文件


是否有其他方法指定依赖任务。我认为
gulpSequence
可以处理这个问题。

您指定所有任务都应该按顺序运行,而没有任何并行性。新任务在前一个任务显示完成后立即开始


在执行
buildhtml
任务之前,您可能在任务中遇到了一些问题。他们是否正确处理完成(
done()
callback)?在大多数情况下,我看到触发了一些异步操作,并且在异步任务完成之前调用了回调。因此,在任务真正结束之前,序列将继续…

您指定所有任务都应按顺序运行,而不具有任何并行性。新任务在前一个任务显示完成后立即开始


在执行
buildhtml
任务之前,您可能在任务中遇到了一些问题。他们是否正确处理完成(
done()
callback)?在大多数情况下,我看到触发了一些异步操作,并且在异步任务完成之前调用了回调。因此,在任务真正结束之前,该序列将继续…

您的思路是正确的,但您尝试使用的npm软件包已贬值。可能值得考虑签出
运行序列
(),它在开始之前等待上一个任务完成

所以在你的例子中,这将成为


吞咽任务(“默认”,功能(cb){
$.runSequence(
“私人:干净”,
'专用:复制应用程序包文件',
'专用:复制应用程序主文件',
'专用:复制库',
'私人:复制应用程序文件',
'私有:复制css文件',
“专用:生成html”,
'私人:软件包应用',
cb
)
});

您的思路是正确的,但您尝试使用的npm软件包已贬值。可能值得考虑签出
运行序列
(),它在开始之前等待上一个任务完成

所以在你的例子中,这将成为


吞咽任务(“默认”,功能(cb){
$.runSequence(
“私人:干净”,
'专用:复制应用程序包文件',
'专用:复制应用程序主文件',
'专用:复制库',
'私人:复制应用程序文件',
'私有:复制css文件',
“专用:生成html”,
'私人:软件包应用',
cb
)
});

还有另一种方法可以将任务A作为任务B的依赖项,您可以这样做,但任务组合将很棘手。所有任务都必须正确地发出异步完成的信号。请参阅(它适用于gulp 4,但大部分也适用于gulp 3)。还有另一种方法可以将任务A作为任务B的依赖项,您可以这样做,但任务组合将很棘手。所有任务都必须正确地发出异步完成的信号。请参阅(它适用于gulp 4,但大部分也适用于gulp 3)。