如何动态地为多个目的地重用 grunt 复制任务?
How do I reuse a grunt copy task for multiple destinations dynamically?
我不想在 dest 属性中添加目的地,而是想让它动态化,这样当我从命令行 运行 任务或从 运行 它时,我可以分配目的地另一个任务。这样我就可以在调用任务时将文件复制到我想要的任何文件夹。
copy: {
nightlyBuild: {
files: [{
expand: true,
cwd: '../',
src: ['index.html'],
dest: 'destinations'
}]
}
},
我假设我需要使用 grunt.option 和 grunt.config 但似乎无法正确使用。我有多个脚本,我想以类似的方式重用它们。
我认为您的方向是正确的。这应该有帮助
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
我不想在 dest 属性中添加目的地,而是想让它动态化,这样当我从命令行 运行 任务或从 运行 它时,我可以分配目的地另一个任务。这样我就可以在调用任务时将文件复制到我想要的任何文件夹。
copy: {
nightlyBuild: {
files: [{
expand: true,
cwd: '../',
src: ['index.html'],
dest: 'destinations'
}]
}
},
我假设我需要使用 grunt.option 和 grunt.config 但似乎无法正确使用。我有多个脚本,我想以类似的方式重用它们。
我认为您的方向是正确的。这应该有帮助
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