【发布时间】:2015-06-19 17:39:18
【问题描述】:
我们正在尝试使用 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。
是否有可能构建使用动态值的那种任务?这很好,因为唯一的其他解决方案是使用静态字符串多次复制每个任务。
谢谢! 丹尼尔
【问题讨论】:
标签: foreach gruntjs grunt-contrib-copy