使用Gulp复制过程中重命名一个文件

时间:2018-08-03 17:32:27

标签: gulp gulp-rename

我想自动为Chrome和Firefox打包扩展程序,为此我正在使用Gulp。我在项目的根目录中有两个清单文件,一个用于Chrome,一个用于Firefox(manifest.jsonmanifestff.json)。现在,我要:

  1. 将所需的所有内容复制到Chrome扩展程序的目录中。
  2. 对Firefox扩展做同样的事情,除了我想在此过程中将manifestff.json重命名为manifest.json

这是我当前为Firefox打包扩展程序的任务:

gulp.task('pack-firefox', () => {
    return gulp.src([
        'manifestff.json',
        'index.html',
        './public/**'
    ], {'base': '.'})
    .pipe(gulp.dest('./ff'));
}

是否可以(附加.pipe())指定我要将manifestff.json复制为manifest.json

1 个答案:

答案 0 :(得分:1)

查看gulp-if

const gulp = require('gulp');
const rename = require('gulp-rename');
const gulpIF = require('gulp-if');


gulp.task('pack-firefox', () => {
  return gulp.src([
    'manifestff.json',
    'index.html',
    './public/**'
  ], { 'base': '.' })
    .pipe(gulpIF(function (file) { return file.path.match('manifestff.json') }, rename('manifest.json')))
    .pipe(gulp.dest('./ff'));
});