我有这个任务:
HTML:
构建
如果我运行gulp build
然后gulp html
,一切正常。但是,如果添加html
作为构建最后一部分,则不要再工作。
Jade在.html文件中转换,所有资源(我的和bower)都被复制到/ dest文件夹,但wiredep
和inject
(添加脚本和链接标记)似乎什么都不做。
这是我的任务的一部分:https://gist.github.com/Falci/f52d4144318c9d5e4c2f
答案 0 :(得分:1)
我发现您的构建存在一些潜在问题。
您必须从每项任务返回。 Gulp依赖于每个任务的返回值来确定该任务何时完成。如果使用没有返回值的任务作为另一个任务的依赖项,则将立即解决依赖关系,而不是等待任务完成。您应该使用返回值,而不是使用next()
回调。
function htmlAssetsTask () {
var sources = gulp.src(config.filesets.assetsDest, {read: false});
return gulp.src(config.filesets.html)
...
}
Gulp任务依赖不按顺序运行。这意味着在任务中:
gulp.task('build', ['clean:dest', 'build:js', 'build:less', 'html']);
依赖项可以按任何顺序运行。我建议使用run-sequence包来确保任务依赖的顺序。