运行Gulp任务异步,但仅在需要时运行

时间:2015-01-28 19:37:59

标签: asynchronous gulp

Gulp的异步任务看起来非常简单,而且我已经将它们用于很多"首先清理目录,然后构建LESS"风格的异步任务。

但是,我坚持一个,我确定它是我的参考框架。我希望有人可以通过它的逻辑来跟我说话。

  • build-changelog 抓取我当前的git日志并将其变为markdown。它使用git标签作为标题

  • 增量增加我的版本号并将其应用为git标记

  • 部署将所有内容打包并将其复制到服务器上的版本化文件夹

部署依赖于增量* build-changelog(我们从不希望部署到相同的版本化文件夹)。 build-changelog 没有依赖关系(可以随时运行以进行更改)与deploy配对时除外。在这种情况下,它还需要等待增量完成。

如果有人能帮助我解决我对此的误解,我将不胜感激!

nz的

1 个答案:

答案 0 :(得分:1)

首先,我非常担心您的任务可以随时changeling生成{34}。

继续前进......这是一种令人痛苦的事情,因为当前笨重的任务依赖系统会让你痛苦不堪。

现在我建议:

function changelog (cb) {
  // ...
  cb();
}

gulp.task('build-changelog', changelog);
gulp.task('deploy:build-changelog', ['increment'], changelog);

gulp.task('increment', function (cb) {
  // ...
  cb();
});

gulp.task('deploy', ['deploy:build-changelog'], function (cb) {
  // ...
  cb();
});