首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从另一个任务获取一个任务的返回值

从另一个任务获取一个任务的返回值
EN

Stack Overflow用户
提问于 2014-11-21 01:07:18
回答 1查看 2.7K关注 0票数 3

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

以下任务成功返回最新的git哈希(使用吞咽):

代码语言:javascript
复制
var git = require('gulp-git');
gulp.task('hash', function() {
   git.revParse({args:'--short HEAD'}, function (err, hash) {
     return hash;
   });
});

以下任务构建我的HTML:

代码语言:javascript
复制
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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-11-23 01:01:04

当然,您可以将回调方法添加到哈希任务中,以便将结果保存到变量中,以便在html任务中使用。html任务也应该将哈希任务作为依赖项,这样哈希就永远不会被定义。此外,您可能应该使用类似于大口欢呼的东西将哈希注入到输出中,这样就不会在结束的html标记之外追加哈希。

代码语言:javascript
复制
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'));
});
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27052541

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档