使用Gulp w / specific Pattern重命名文件

时间:2015-06-30 20:30:53

标签: javascript gulp

我有一个Gulp任务,需要将内容从一个目录复制到另一个目录,并使用特定模式重命名每个文件。基本上,如果我有main.css,我需要它来创建main.css的副本并将其命名为main_main_bk.css(不要问 - 这是我需要遵守的约定)。为了清楚起见,我需要添加一个_,后跟当前正在处理的文件的名称,后跟_bk。如何阅读Gulp中当前文件的名称?

var gulp = require('gulp');     
var rename = require('gulp-rename');

gulp.task('copit', function() {
  gulp.src('asset/css/*.css')
    .pipe(rename({suffix: '_' + ??? + '_bk'}))
    .pipe(gulp.dest('asset/test'));
});

所以,

asset / css / main.css - > asset / test / main_main_bk.css
asset / css / style.css - > asset / test / style_style_bk.css

1 个答案:

答案 0 :(得分:4)

您可以使用basename并通过函数

重命名
var gulp = require('gulp');     
var rename = require('gulp-rename');

gulp.task('copit', function() {
  gulp.src('asset/css/*.css')
    .pipe(rename(function (path) {
        path.basename += "_" + path.basename + "_bk";
    }))
    .pipe(gulp.dest('asset/test'));
});