Как динамически повторно использовать задачу резервного копирования для нескольких адресатов?
Вместо добавления адресатов в атрибуте dest я хотел бы сделать его динамичным, чтобы я мог назначать адресатов при запуске задачи из командной строки или при запуске из другой задачи. Таким образом, я могу скопировать файл в любую папку (папки), которую я хочу, когда я вызываю задачу.
copy: {
nightlyBuild: {
files: [{
expand: true,
cwd: '../',
src: ['index.html'],
dest: 'destinations'
}]
}
},
Я предполагаю, что мне нужно использовать grunt.option и grunt.config, но, похоже, не могу понять это правильно. У меня есть несколько сценариев, которые я хотел бы использовать подобным образом.
1 ответ
Решение
Я думаю, что вы были на правильном пути. Это должно помочь
copy: {
nightlyBuild: {
files: [{
expand: true,
cwd: '../',
src: ['index.html'],
dest: '<%= dest %>',
}]
}
},
grunt.task.registerTask('copyTo', 'copy into a specific destination', function(dest) {
if (arguments.length === 0) {
grunt.log.writeln(this.name + ", missing destination");
} else {
grunt.log.writeln(this.name + " to " + dest);
grunt.config.set('dest', dest);
grunt.task.run([
'copy:nightlyBuild'
]);
}
});
Затем вы бы назвали задачу следующим образом: grunt copyTo:mydestination