javascript - Hur kör jag en extern fil inom Gulp?


För tillfället använder jag pluginen "gulp-run" för att köra en .bat-fil. Den pluginen har nu tagits ur bruk och jag letar efter det bästa sättet att köra .bat-filen nu.

Nuvarande kod:

var gulp = require('gulp');
var run = require('gulp-run');

module.exports = function() {

    run('c:/xxx/xxx/runme.bat').exec();

};

Lösning enligt @cmrn:s förslag:

var exec = require('child_process').exec;
var batchLocation = 'c:/xxx/xxx/runme.bat';
gulp.task('task', function (cb) {
  exec(batchLocation, function (err, stdout, stderr) {
    console.log(stdout);
    console.log(stderr);
    cb(err);
  });
})

Svar #1

Om du behöver köra skriptet som en del av en gulp-ström (d.v.s. i pipe()) kan du använda gulp-exec. Om inte, kan du bara använda child_process.exec som beskrivs i gulp-exec README, kopierad nedan.

var exec = require('child_process').exec;

gulp.task('task', function (cb) {
  exec('ping localhost', function (err, stdout, stderr) {
    console.log(stdout);
    console.log(stderr);
    cb(err);
  });
})