以编程方式将目录名称作为字符串传递到 gulp-rename



是否可以将父目录的名称传递给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
        • 引导程序.min.js
      • 字体真棒
        • 来源
          • 文件-1.js
            • 文件-1.js.map (文件(
            • 文件-1.分钟.js (文件(
          • 文件-2.js
            • 文件-2.js.map(文件(
            • 文件-2.分钟.js(文件(
          • 文件-3.js
            • 文件-3.js.map (文件(
            • 文件-3.分钟.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];
}))

相关内容

  • 没有找到相关文章

最新更新