我想编写一个Grunt任务,在构建期间,将复制我拥有的所有.html文件,并在/ dist中创建它的.asp版本。
我一直在尝试使用grunt-contrib-copy来实现这一目标,而这就是我所拥有的:
copy: {
//some other tasks that work...
//copy an .asp version of all .html files
asp: {
files: [{
expand: true,
dot: true,
cwd: '<%= config.app %>',
src: ['{,*/}*.html'],
dest: '<%= config.dist %>',
option: {
process: function (content, srcpath) {
return srcpath.replace(".asp");
}
}
}]
} //end asp task
},
我知道process
函数实际上并不正确...我尝试了一些不同的正则表达式,使其工作无济于事。当我运行asp
任务时,Grunt CLI说我已复制了2个文件,但它们无处可寻。任何帮助表示赞赏。
答案 0 :(得分:6)
您可以使用rename
函数执行此操作。
例如:
copy: {
//some other tasks that work...
//copy an .asp version of all .html files
asp: {
files: [{
expand: true,
dot: true,
cwd: '<%= config.app %>',
src: ['{,*/}*.html'],
dest: '<%= config.dist %>',
rename: function(dest, src) {
return dest + src.replace(/\.html$/, ".asp");
}
}]
} //end asp task
},
这应该有效。