如何在Gulp中运行外部文件?

时间:2015-12-01 02:07:21

标签: javascript node.js gulp

目前我正在使用"gulp-run" plugin运行.bat文件。该插件现已被弃用,我正在寻找现在执行.bat的最佳方法。

当前代码:

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

module.exports = function() {

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

};
根据@cmrn建议

解决方案

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);
  });
})

1 个答案:

答案 0 :(得分:6)

如果您需要将脚本作为gulp流的一部分运行(即在pipe()中),则可以使用gulp-exec。如果没有,您可以按照下面复制的 gulp-exec 自述文件中的说明使用child_process.exec

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);
  });
})