首页 > 解决方案 > 使用 Gulp 在复制过程中重命名一个文件

问题描述

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

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

这是我目前为 Firefox 打包扩展的任务:

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

是否可以指定(附加.pipe())我想复制manifestff.jsonmanifest.json

标签: gulpgulp-rename

解决方案


查看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'));
});

推荐阅读