Gruntjs 循环 grunt 'copy file' 任务



我正试图将一个index.html文件复制到多个文件夹中。我一直在寻找堆栈溢出,几乎找到了我正在寻找的解决方案。在我的例子中,循环只将index.html文件复制到folders数组的最后一个文件夹。我想知道我在俯瞰什么。有什么想法吗?

module.exports = function(grunt){
grunt.initConfig({
copy:{
files:{
flatten:true,
expand: false,
src: [
'scaffold/index.html',
],
dest: "dist/<%= grunt.option('folder') %>/",
filter: 'isFile',
force: true
}
}
})
function copytoFolders() {
var folders = ["300x600", "300x250", "336x280"], folder;
for (folder in folders) 
{
grunt.option('folder', folders[folder]);
grunt.task.run('copy');
}
}
grunt.loadNpmTasks('grunt-contrib-copy-force');
grunt.registerTask('copyFol', copytoFolders)

}

好的,我通过看这篇文章解决了这个问题:后堆栈溢出

因此,基本上它现在返回一个文件对象数组,当调用默认任务时,它执行对象文件。

以下是适用于我的脚本:

module.exports = function(grunt) {
function getFiles() {
var folders = ["300x600", "300x250", "336x280"];
var files = [];
for (var folder in folders) {
files.push({
flatten:true,
expand: true,
src: [
'scaffold/index.html',
],
dest: "dist/" + folders[folder] + "/",
filter: 'isFile'
});
}
return files;
}
grunt.initConfig({
copy: {
core: {
files: getFiles()
}
}
});
grunt.loadNpmTasks('grunt-contrib-copy');
grunt.registerTask('default', ['copy:core']);

};

相关内容

最新更新