【问题标题】:Pass data between gulp 4 tasks, pipes or commandline在 gulp 4 任务、管道或命令行之间传递数据
【发布时间】:2020-06-17 21:53:05
【问题描述】:

在我看来,我正在尝试做一个简单的任务,但无法弄清楚。在谷歌或这里找不到它。也许我做错了。

我需要使用 gulp 4 更改 json 文件中的属性。要获取该属性的新值,我有另一个任务或管道(我不在乎 :-))并想要传递它。

另外,如何从命令行传递变量?例如:gulp release -branchname "foobar"

我该怎么做。我知道这里有类似的问题,但没有什么对我有用...

    var gulp = require('gulp');
var git = require('gulp-git');
var jeditor = require("gulp-json-editor");

var paths = {
    manifest: "vss-extension.json"
}

function getBranchName(){
    console.log("Get the current branch name");

    return git.revParse({args:'--abbrev-ref HEAD'}, function (err, branch) {
        console.log('current git branch: ' + branch);
        var currentBranch = branch;

        return currentBranch;
    });

    // console.log("Current branch is: "+ branchName);

    // return branchName;
}

function updateExtensionManifestVersion(foo){

    var x = 10;

    gulp.src(paths.manifest)
    .pipe(jeditor(function(json) {
        console.log("Append current branchname " + currentBranch + " to extension manifest id");

        var currentId = json.id;
        console.log("Current manifest id: "+ currentId);

        // var branchName = git.revParse({args:'--abbrev-ref HEAD'}, function (err, branch) {
        //     console.log('current git branch: ' + branch);
        //     return branch;
        // });

        // console.log(branchName.branch);

        var newId = currentId + "-" + branchName;
        console.log("New manifest id: " + newId);
        json.id = newId;

        return json;
    }))
    .pipe(gulp.dest(paths.manifest));
}

gulp.task('release', gulp.series(getBranchName, updateExtensionManifestVersion, function(done) {
    console.log("release is done");
    done();
}));

【问题讨论】:

    标签: javascript npm gulp gulp-4


    【解决方案1】:

    要从命令行传递变量,您可以使用yargs,如本答案Pass Parameter to Gulp Task 中所述。

    如果您想在任务之间传递数据,请设置一个可供双方访问的全局变量。

    【讨论】:

      猜你喜欢
      • 2023-04-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-08
      相关资源
      最近更新 更多