默认情况下如何跳过Grunt目标

时间:2015-06-29 04:14:38

标签: javascript gruntjs grunt-contrib-copy

我正在定义一个包含多个任务和目标的Grunt项目,任务build,我想运行一些复制目标,然后使用任务deployment,我还想运行{{}然而,对于其他一些目标(例如,只将文件夹复制到特定目录以进行部署),我不希望在copy任务中执行此目标。

那么如何从build

跳过此Grunt目标

这是我的例子

build

2 个答案:

答案 0 :(得分:1)

grunt.registerTask('build', ['clean', 'copy:foo', 'copy:bar']);
grunt.registerTask('deployment', ['copy:deployment']);

答案 1 :(得分:0)

我建议您为构建任务指定复制目标,例如copy:build for generic target或like copy:foo,copy:bar ..我不认为可以选择退出对于grunt中的一个不想要的目标(除非你通过函数调用创建一个通用任务)

编辑:

//something like this
grunt.registerTask('copy:build', function(){
  var copyConfig = grunt.config.get('copy');
  Object.keys(copyConfig).forEach(function(target){
    if(target !== 'deployment'){
      grunt.task.run('copy:'+target)
    }

  });
})

grunt.registerTask('build', ['clean', 'copy:build']);
//etc