如何在 grunt-contrib-copy 文件重命名操作期间删除原始文件?
How to delete original file during grunt-contrib-copy file renaming operation?
我主要从 grunt-contrib-copy 获得了我需要的东西,因为我正在使用 'rename' 和 'options.process' 重命名文件名和文件中的内容。我缺少的最后一步是如何删除在此过程中重命名的原始文件。
这是我得到的:
copy: {
rename: {
files: [
{
expand: true,
filter: 'isFile',
cwd: './',
src: ['**','!**/*.json','!**/.git/**','!**/node_modules/**','!**/*.sql','!README.md'],
dest: './',
rename: function(dest, src) {
var replaceValue = package.themeReplaceName;
var start = src.search(replaceValue);
var end = start + replaceValue.length;
if (start === -1) {
return src;
}
var returnVal = dest + src.substring(0, start) + package.projectTitle + src.substring(end);
grunt.log.writeln(returnVal);
return returnVal;
}
}
],
options: {
process: function (content, srcpath) {
var newContent = content.split(package.themeReplaceName).join(package.projectTitle);
grunt.log.writeln('Processing ' + srcpath + 'for ' + package.themeReplaceName + 'replacement...');
return newContent;
},
}
}
}
这导致我的所有文件都被重命名,并且它们的内容被替换,但是任何被重命名的文件的原始文件仍然存在。
我怎样才能简洁地删除它们?
另外,如果你想要很棒的分数,你可以尝试用 'src' 中适当的正则表达式替换我的 'rename' 方法!
提前致谢,
d
您必须使用 grunt-contrib-clean 来删除文件。
module.exports = 函数(咕噜声){
grunt.config.set('clean', {
options: { force: true },
clean: {
src: ["path/yourfile","path/yourfile2"]
}});
我主要从 grunt-contrib-copy 获得了我需要的东西,因为我正在使用 'rename' 和 'options.process' 重命名文件名和文件中的内容。我缺少的最后一步是如何删除在此过程中重命名的原始文件。
这是我得到的:
copy: {
rename: {
files: [
{
expand: true,
filter: 'isFile',
cwd: './',
src: ['**','!**/*.json','!**/.git/**','!**/node_modules/**','!**/*.sql','!README.md'],
dest: './',
rename: function(dest, src) {
var replaceValue = package.themeReplaceName;
var start = src.search(replaceValue);
var end = start + replaceValue.length;
if (start === -1) {
return src;
}
var returnVal = dest + src.substring(0, start) + package.projectTitle + src.substring(end);
grunt.log.writeln(returnVal);
return returnVal;
}
}
],
options: {
process: function (content, srcpath) {
var newContent = content.split(package.themeReplaceName).join(package.projectTitle);
grunt.log.writeln('Processing ' + srcpath + 'for ' + package.themeReplaceName + 'replacement...');
return newContent;
},
}
}
}
这导致我的所有文件都被重命名,并且它们的内容被替换,但是任何被重命名的文件的原始文件仍然存在。
我怎样才能简洁地删除它们?
另外,如果你想要很棒的分数,你可以尝试用 'src' 中适当的正则表达式替换我的 'rename' 方法!
提前致谢, d
您必须使用 grunt-contrib-clean 来删除文件。
module.exports = 函数(咕噜声){
grunt.config.set('clean', {
options: { force: true },
clean: {
src: ["path/yourfile","path/yourfile2"]
}});