0

動的に連結された文字列に対して grunt.config.set を使用して grunt タスクを実行しようとしています。これらの grunt.config は forEach ループで設定され、タスクが実行される前に毎回変更されます。

grunt は最後の grunt.config.set のみを使用し、まったく同じ値で複数回実行するため、残念ながらこれは機能しません。

単純な「コピー」タスクを使用したこの例を参照してください (「コピー」は単なる例です。他のタスクでもこの種の動的オプションを使用したいと考えています)。

copy: {
    projectFiles : {
        files : [{
            src: 'src/<%= directoryName %>/*',
            dest: 'build/<%= directoryName %>/*'
        }]
    }
}   

grunt.registerTask('copyFiles', function() {
    var projects = ['directory1','directory2','directory3','directory4'];

    projects.forEach(function(project){
        grunt.config.set("directoryName", project);
        grunt.task.run('copy:projectFiles');
    });
});

このタスクは、src/directory4 を 4 回コピーします。

動的な値を使用するそのような種類のタスクを構築することは何とか可能ですか? 他の唯一の解決策は、各タスクを静的文字列で複数回コピーすることであるため、それは素晴らしいことです。

ありがとうございました!ダニエル

4

1 に答える 1