Gulp 运行 不对
Gulp isn't running right
我有这个任务:
html:
- 将 .jade 转换为 .html
- 将 bower 资源(css、js 和字体)复制到 /dest/vendor 文件夹
- 将 Bower 资源添加到 .html(脚本和 link 标签)
- 将我的 js(来自 /dest/js)和我的 css(来自 /dest/css)添加到 .html(如上一个)
建造
- 清理 /dest 文件夹
- 复制我的js到/dest/js(只复制,不处理)
- 处理我的 less 文件,并移动到 /dest/css as css
如果我 运行 gulp build
然后 gulp html
,一切正常。但是,如果添加 html
作为构建的最后一部分,则不要再工作了。
Jade 在 .html 文件中转换,所有资源(my 和 bower)都复制到 /dest 文件夹,但是 wiredep
和 inject
(添加脚本和 link标签)似乎什么都不做。
这是我的(部分)任务:https://gist.github.com/Falci/f52d4144318c9d5e4c2f
我发现您的构建存在一些潜在问题。
您必须 return 来自每个任务的流。 Gulp 依赖于每个任务的 return 值来确定该任务何时完成。如果您使用一个没有 return 值的任务作为另一个任务的依赖项,该依赖项将立即被解析,而不是等待任务完成。您应该使用 return 值而不是使用 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 包来确保任务依赖的顺序。
我有这个任务:
html:
- 将 .jade 转换为 .html
- 将 bower 资源(css、js 和字体)复制到 /dest/vendor 文件夹
- 将 Bower 资源添加到 .html(脚本和 link 标签)
- 将我的 js(来自 /dest/js)和我的 css(来自 /dest/css)添加到 .html(如上一个)
建造
- 清理 /dest 文件夹
- 复制我的js到/dest/js(只复制,不处理)
- 处理我的 less 文件,并移动到 /dest/css as css
如果我 运行 gulp build
然后 gulp html
,一切正常。但是,如果添加 html
作为构建的最后一部分,则不要再工作了。
Jade 在 .html 文件中转换,所有资源(my 和 bower)都复制到 /dest 文件夹,但是 wiredep
和 inject
(添加脚本和 link标签)似乎什么都不做。
这是我的(部分)任务:https://gist.github.com/Falci/f52d4144318c9d5e4c2f
我发现您的构建存在一些潜在问题。
您必须 return 来自每个任务的流。 Gulp 依赖于每个任务的 return 值来确定该任务何时完成。如果您使用一个没有 return 值的任务作为另一个任务的依赖项,该依赖项将立即被解析,而不是等待任务完成。您应该使用 return 值而不是使用
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 包来确保任务依赖的顺序。