2
1つのフォルダをコピーし、そのフォルダのファイル名をgruntで変更します。フォルダをコピーしてgruntを使用してファイル名を変更する
基本構造:
mainfolder
-project
-project.js
-project.html
私はそれは次のようになりますプロジェクトフォルダをコピーするとnewname
でproject
を交換したい:私は(ファイルに名前の名前を変更するには、それが困難見つけるのです
mainfolder
-project
-project.js
-project.html
-newname
-newname.js
-newname.html
コンテンツはnewnameに置き換えられます)。 私が続いている。この段階:
- コピーされたプロジェクトフォルダnewname1フォルダへ newnameのフォルダ内の
- 置き換えコンテンツが
- 削除newname1フォルダ
私はすべての操作をマージしようとした は、それはうまくいきませんでした。あなたは以下のような独自の機能をgrunt copy
の内側に名前変更を行うことができます
module.exports = function(grunt) {
grunt.initConfig({
copy: {
main: {
expand: true,
src: 'project/**',
dest: 'newname1',
},
},
replace: {
example: {
src: ['newname1/*'],
dest: 'newname',
replacements: [{
from: 'project',
to: 'newname'
},
{
from: 'Project',
to: 'Newname'
}
],
}
},
clean: {
folder: ['newname1']
},
rename: {
main: {
files: [{
src: ['newname/**]'],
dest: 'newname/**]'
}, ]
}
}
});
grunt.loadNpmTasks('grunt-contrib-copy');
grunt.loadNpmTasks('grunt-text-replace');
grunt.loadNpmTasks('grunt-contrib-clean');
grunt.registerTask('default', ['copy', 'replace', 'clean']);
};
こんにちは、私はコピー内の名前を変更しようとする前に機能していませんでした。あなたのソリューションは正常に動作します。私はプロジェクトフォルダ 'viewproject.js'の中にもう一つのファイルがあり、 'newname.js'というファイルを1つだけ与えていたので、リネーム機能にいくつかの変更を加えました は 'dest dest + src.replace( 'project'、 'newname '); ' –