Javascript 使用带有特定图案的Gulp重命名文件

Javascript 使用带有特定图案的Gulp重命名文件,javascript,gulp,Javascript,Gulp,我有一个Gulp任务,需要将内容从一个目录复制到另一个目录,并使用特定模式重命名每个文件。基本上,如果我有main.css,我需要它来创建main.css的一个副本,并将其命名为main_main_bk.css(不要问,这是我需要遵守的约定)。为了清楚起见,我需要添加一个u,后面是当前正在处理的文件名,后面是bk。如何读取当前文件的名称 var gulp = require('gulp'); var rename = require('gulp-rename'); gulp.task

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

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\u main\u bk.css
asset/css/style.css->asset/test/style\u style\u bk.css


等等。

您可以使用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'));
});