我们正在尝试使用 grunt.config.set 为动态连接的字符串运行 grunt 任务。这些 grunt.configs 在 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 复制四次。
是否有可能构建使用动态值的那种任务?这会很好,因为唯一的其他解决方案是使用静态字符串多次复制每个任务。
谢谢!丹尼尔