Ich benutze Grunt und Grunt-Shell, um mein Javascript-Projekt zu erstellen/zu implementieren.Grunt-shell Speichern Befehl Ausgabe als Variable
Ich möchte die neueste git-commit-Nummer erhalten und sie als Variable speichern, kann aber nicht herausfinden, wie. Ich habe versucht, einen Rückruf zu haben und eine globale Variable einzustellen. Diese Variable ist innerhalb einer Funktion verwendbar, aber nicht aus einem anderen Block scheint es
grunt.initConfig({
...
shell: {
getGitCommitNo: {
command: 'git rev-parse --short HEAD',
options: {
callback: function (err, stdout, stderr, cb) {
global['gitCommitNo'] = stdout;
grunt.log.ok(global.gitCommitNo);
cb();
}
}
},
philTest: {
command: 'echo Git Commit No: ' + global.gitCommitNo
},
...
}
Ausgang:
>> Starting deployment process for version 1.1 in dev environment
Running "shell:getGitCommitNo" (shell) task
bfc82a9
>> bfc82a9
Running "shell:printTest" (shell) task
Git Commit No: undefined
Done, without errors.
Kann jemand empfehlen, wie ich könnte die Ausgabe einer Befehlszeile in eine Variable zu speichern, die verwendbar ist, Bitte?
Nicht sicher, Sie können dies mit dem 'shell' Plugin tun, aber man konnte ein einfaches benutzerdefiniertes Modul schreiben, es zu tun, wenn nötig:
Dann kann dies über die zugegriffen werden soll. – jakerella