使用Gulp和Gulp替换名称克隆一个项目,但重命名多个文件夹中包含某个单词的文件
Using Gulp and Gulp Replace Name to clone a project but rename files that contain a certain word inside multiple folders
我需要使用gulp来创建一个项目的克隆,并将所有以特定单词开头的文件类型更改为具有不同的单词。我已经尝试使用gulp-replace-name.
下面是我想要克隆的项目的文件夹结构的简化示例。在实际的项目中,有多个嵌套的文件夹。
originalProject/
- readme.txt
- index.php
- originalProject.info.php
- originalProject.setup.php
- assets/
- originalProject.css
- originalProject.js
- staticAssets.css
下面是一个克隆项目的例子:
cloneProject/
- readme.txt
- index.php
- cloneProject.info.php
- cloneProject.setup.php
- assets/
- cloneProject.css
- cloneProject.js
- staticAssets.css
可以看到,以"originalProject"开头的文件需要用"cloneProject"替换该文本。您还会注意到,有些文件夹和其他文件不需要更改文件名。最后,有些文件名在文件名中包含多个句点。
下面是我使用gulp-replace-name创建的代码。如果项目中没有文件夹,则此操作有效。当我添加文件夹时,出现错误。
var gulp = require("gulp");
var changeFilename = require("gulp-replace-name");
gulp.task("duplicate", function () {
return gulp
.src("./orignalProject/**/*")
.pipe(changeFilename(/originalProject/g, "cloneProject"))
.pipe(gulp.dest("./cloneProject"));
});
gulp.task("default", ["duplicate"]);
这是我在stackoverflow的第一篇文章。我对吞咽也很陌生。
这是gulp-replace-name
的一个bug。当它遇到一个目录时,它会尝试调用一个不存在的回调cb
,这将导致您收到的错误。它甚至不会尝试重命名目录,而这正是您所需要的。
我建议你使用gulp-rename
插件代替。它经过了全面的测试,多年来一直拥有庞大的用户群,所以你不太可能遇到这样的问题。
这有点冗长,但可以满足您的要求:
var gulp = require('gulp');
var rename = require("gulp-rename");
gulp.task("duplicate", function () {
return gulp
.src("./originalProject/**/*")
.pipe(rename(function(file) {
file.dirname = file.dirname.replace(/originalProject/g, "cloneProject");
file.basename = file.basename.replace(/originalProject/g, "cloneProject");
}))
.pipe(gulp.dest("./cloneProject"));
});
gulp.task("default", ["duplicate"]);
相关文章:
- 正在使用Dropzone.js删除服务器上已重命名的文件
- Angular重命名模块后未能实例化模块
- 如何使用laravel重命名已存储在服务器中的文件
- 如何使用外部Javascript库(如jQuery)重命名Google闭包样式表
- lodash:重命名对象中的键
- 阻止对的关闭重命名对象键
- gulp重命名多个文件
- Ckfinder在上传之前重命名图像
- 为什么 Google 闭包编译器会重命名对象的属性名称
- 使用 javascript 重命名数组中的对象键
- JSnice如何进行统计重命名,重命名Javascript变量
- 使用 gruntjs 自定义初始化任务重命名模板文件夹
- 重命名上传的文件Ruby On Rails
- 重命名动态添加或删除的表单字段
- 如何使用PHP、提交和单选按钮复制/重命名/覆盖图像
- 导出时如何重命名excel文件
- 仅对文件进行 Gulp 重命名,而不重命名目录
- 使用Gulp和Gulp替换名称克隆一个项目,但重命名多个文件夹中包含某个单词的文件
- Gulp重命名和基本路径
- 使用Gulp w/特定模式重命名文件