是否可以将父目录的名称传递给gulp-rename或任何其他重命名插件?我正在尝试以编程方式连接"src"文件夹中的所有文件,并使用其父目录的名称重命名它们。下面的代码是我到目前为止所拥有的。
gulp.task('js-test', function() {
return gulp.src('dev/scripts/**/src/*.min.js')
.pipe(concat('interim-name.js'))
.pipe(rename('How do I give it the name of the parent directory of src'))
.pipe(gulp.dest('dev/scripts'))
});
最终结果如下所示:
- 开发
- 脚本
- 启动
- 来源
- 警报.js(文件(
- 警报.js.map(文件(
- alert.min.js (文件(
- 工具提示.js(文件(
- 工具提示.js.map(文件(
- 工具提示.min.js (文件(
- 警报.js(文件(
- 引导.js
- 引导程序.min.js
- 来源
- 字体真棒
- 来源
- 文件-1.js
- 文件-1.js.map (文件(
- 文件-1.分钟.js (文件(
- 文件-2.js
- 文件-2.js.map(文件(
- 文件-2.分钟.js(文件(
- 文件-3.js
- 文件-3.js.map (文件(
- 文件-3.分钟.js(文件(
- 文件-1.js
- 字体真棒.js
- Fontawesome.min.js
- 来源
- 启动
- 脚本
gulp-rename可以选择使用函数,例如来自文档:
// rename via function
gulp.src("./src/**/hello.txt")
.pipe(rename(function (path) {
path.dirname += "/ciao";
path.basename += "-goodbye";
path.extname = ".md"
}))
.pipe(gulp.dest("./dist")); // ./dist/main/text/ciao/hello-goodbye.md
所以我会注销path.dirname,然后对其进行字符串操作:
.pipe(rename(function (path) {
// I use nodePath.sep here but you may have to require path for it to work
// var nodePath = require('path');
// but maybe just path.sep without the require will work just fine
var temp = path.dirname.split(nodePath.sep);
path.basename = temp[some index here];
}))