我需要在循环中更改 grunt 副本中的目标。
我可以通过以下方式做到这一点:
grunt.config.set('copy.files.dest', 'public/'+[i]);
然后运行:
grunt.task.run('copy');
但是循环中的最后一个 dest 集适用于所有任务。
如何为循环中运行的每个任务应用单独的 dest?
我需要在循环中更改 grunt 副本中的目标。
我可以通过以下方式做到这一点:
grunt.config.set('copy.files.dest', 'public/'+[i]);
然后运行:
grunt.task.run('copy');
但是循环中的最后一个 dest 集适用于所有任务。
如何为循环中运行的每个任务应用单独的 dest?
我只向您提供了一个伪代码和想法,如果我必须循环运行某些任务,我是如何解决这类问题的,也许它可以帮助解决您的问题。创建一个带有参数的任务:
module.exports = function(grunt){
grunt.registerTask('myTask', 'Task description', function(dest){
grunt.config.set('copy.files.dest', dest);
grunt.task.run(['task list which uses parameter from copy.files.dest']);
});
return{
tasks: {}
};
};
这个任务将在你的 gruntfile 中循环调用:
grunt.registerTask('myTask2', 'task description', function(){
var params = ['/path/to/destination', 'second/path/to/dest'];
for (var i = 0; i < params.length; i++) {
grunt.task.run('myTask1:' + params[i]);
}
});