0
我需要在循環中更改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]);
}
});
好主意設置PARAMS但不是所有的任務採取PARAMS(比如複印件)這不是真的回答這個問題。 – panthro
我沒有看到你的結構,但是如果你將需要某種動態變化的grunt配置的所有任務收集到一個任務中,並且你將在一個循環中運行這一個任務,並且每個任務都將關注哪個參數將使用它能行得通。順便說一下,還有一個嘗試解決這種問題的咕嚕插件:https://www.npmjs.com/package/grunt-galvanize – thadam
感謝您的幫助,我已upvoted,但因爲它不是答案我不能接受。不管怎麼說,還是要謝謝你。 – panthro