如何在包装时保留grunt任务参数

时间:2016-03-14 09:12:29

标签: javascript gruntjs

我正在使用grunt-release插件。通常在shell中使用grunt releasegrunt release:minorgrunt release:major等命令。我正在编写另一个包装发布任务的任务:

grunt.registerTask('custom-release', ['task1', 'release', 'task2']);

因此,当您致电grunt custom-release:major时,我是否有可能调用我的发布任务来调用release:major

否则,我被迫注册符合每个grunt-release选项的任务?:

grunt.registerTask('custom-release-major', ['task1', 'release:major', 'task2']);

1 个答案:

答案 0 :(得分:1)

试试这个:

grunt.registerTask('custom-release', 'my awesome custom-release', function(type) {
  switch(type){
    case 'major':
      grunt.task.run(['task1', 'release:major', 'task2'])
      break;
    case 'minor':
    default:
      grunt.task.run(['task1', 'release:minor', 'task2'])
      break;
  }
});

现在可以使用

  • grunt custom-release:major
  • grunt custom-release:minor
  • grunt custom-release