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

标签 javascript gruntjs

我正在使用 grunt-release 插件。通常在 shell 中您使用诸如 gruntreleasegruntrelease:minorgruntrelease: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']);

最佳答案

试试这个:

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 自定义发布:主要
  • grunt custom-release:minor
  • grunt 自定义发布

关于javascript - 如何在包装时保留 grunt 任务参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35983432/

相关文章:

javascript - 咕噜 watch 不工作

javascript - 如何在 Angular 中正确设置表单验证

javascript - 如何在 AngularJS 中访问 Parse 对象属性?

javascript - grunt usemin 和 usemin 准备多个目标

javascript - Grunt - 替换文件中的空行 - 正则表达式

deployment - 使用 grunt-ssh 递归复制文件

javascript - 使用 grunt : Object Gruntfile. 得到一个奇怪的错误 js has no method 'flatten'

javascript - Angular 路由器。如何使用不同的参数导航到当前 URL?

javascript - Turbolinks:Rails 4 显示慢速页面进度的方式是什么?

javascript - 如何使用 XSL 属性传递两个或多个参数