Gulp GURP更名为M.js作为扩展名

Gulp GURP更名为M.js作为扩展名,gulp,gulp-rename,Gulp,Gulp Rename,在gulp任务中,我希望包含一个javascript文件,并在文件名中插入版本 基本上,在我的任务中,我想复制: /node\u modules/bootstrap sass/assets/javascripts/bootstrap.js至/dist/js/bootstrap.3.3.7.js /node\u modules/bootstrap sass/assets/javascripts/bootstrap.min.js至/dist/js/bootstrap.3.3.7.min.js 我

在gulp任务中,我希望包含一个javascript文件,并在文件名中插入版本

基本上,在我的任务中,我想复制:

  • /node\u modules/bootstrap sass/assets/javascripts/bootstrap.js
    /dist/js/bootstrap.3.3.7.js
  • /node\u modules/bootstrap sass/assets/javascripts/bootstrap.min.js
    /dist/js/bootstrap.3.3.7.min.js
我定义了这个任务:

var gulp = require('gulp');
var rename = require('gulp-rename');
var bsInfo = require('./node_modules/bootstrap-sass/package.json');

...

gulp.task('assets:js', function () {
    return gulp.src(['./node_modules/bootstrap-sass/assets/javascripts/bootstrap.js', './node_modules/bootstrap-sass/assets/javascripts/bootstrap.min.js'])
        .pipe(rename(function (path) { path.basename += "." + bsInfo.version; }))
        .pipe(gulp.dest('./dist/js'));
});
但是,生成的文件名是:

  • bootstrap.3.3.7.js(正确)
  • bootstrap.min.3.3.7.js(不正确,min在版本号之前)

如何编写任务以输出正确的文件名?

为重命名管道尝试以下操作:

.pipe(rename(function (file) {

      if (file.basename.endsWith(".min")) {
        file.basename = file.basename.slice(0, -4) + "." + bsInfo.version + ".min";
      }
      else {
        file.basename += "." + bsInfo.version;
      }
   }))