【问题标题】:Gulp - Get return value of one task from anotherGulp - 从另一个任务中获取一个任务的返回值
【发布时间】:2014-11-21 01:07:18
【问题描述】:

我的目标是将最新的 git 提交附加到我的 index.html 文件中。

以下任务成功返回最新的git hash(使用gulp-git):

var git = require('gulp-git');
gulp.task('hash', function() {
   git.revParse({args:'--short HEAD'}, function (err, hash) {
     return hash;
   });
});

以下任务构建我的 HTML:

var inject = require('inject-string');
gulp.task('html', function () {
  return gulp.src('app/index.html')
    .pipe(inject.append('append git hash here!'))
    .pipe(gulp.dest('dist'))
});

这成功地将一个字符串附加到index.html,但是如何将hash 任务的返回值注入html

【问题讨论】:

    标签: git gulp gulp-inject


    【解决方案1】:

    当然,您可以向哈希任务添加回调方法,以便将结果保存到变量中,以便在 html 任务中使用。 html 任务也应该将哈希任务作为依赖项,以便哈希永远不会未定义。此外,您可能应该使用 gulp-cheerio 之类的东西将散列注入输出,这样您就不会将散列附加到结束 html 标记之外。

    var gulp = require('gulp'),
        git  = require('gulp-git'),
        cheerio = require('gulp-cheerio');
    
    var gitHash;
    
    gulp.task('hash', function(cb) {
      return git.revParse({args:'--short HEAD'}, function(err, hash) {
         gitHash = hash;
         cb();
       });
    });
    
    gulp.task('html', ['hash'], function() {
      return gulp.src('app/index.html')
        .pipe(cheerio(function($) {
            $('body').append('<p>' + gitHash + '</p>');
        }))
        .pipe(gulp.dest('dist'));
    });
    

    【讨论】:

    • 太好了,谢谢。在结束
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多