Grunt: изменить расширение файла при сборке
Я хотел бы написать задачу Grunt, которая во время сборки скопирует все имеющиеся у меня файлы.html и создаст ее.asp-версию в / dist.
Я пытался использовать 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 файла, но их нигде нет. Любая помощь приветствуется.
1 ответ
Решение
Вы можете сделать это с помощью 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
},
Это должно работать.