Gruntfile连续从程序中获取错误代码

GTD*_*Dev 5 javascript error-code gruntjs

我想创建一个grunt文件,一个接一个地连续运行3个grunt任务,无论它们是失败还是通过.如果其中一个grunts任务失败,我想返回最后一个错误代码.

我试过了:

grunt.task.run('task1', 'task2', 'task3');
Run Code Online (Sandbox Code Playgroud)

--force选项运行时.

这个问题--force是指定何时返回错误代码0而不管错误.

谢谢

Kyl*_*ung 7

使用grunt.util.spawn:http://gruntjs.com/api/grunt.util#grunt.util.spawn

grunt.registerTask('serial', function() {
  var done = this.async();
  var tasks = {'task1': 0, 'task2': 0, 'task3': 0};
  grunt.util.async.forEachSeries(Object.keys(tasks), function(task, next) {
    grunt.util.spawn({
      grunt: true,  // use grunt to spawn
      args: [task], // spawn this task
      opts: { stdio: 'inherit' }, // print to the same stdout
    }, function(err, result, code) {
      tasks[task] = code;
      next();
    });
  }, function() {
    // Do something with tasks now that each
    // contains their respective error code
    done();
  });
});
Run Code Online (Sandbox Code Playgroud)