gulp - 使用 Gulp 在复制过程中重命名一个文件
问题描述
我想自动化为 Chrome 和 Firefox 打包我的扩展程序的过程,为此我正在使用 Gulp。我在项目的根目录中有两个不同的清单文件,一个用于 Chrome,一个用于 Firefox(manifest.json
和)。manifestff.json
现在,我想:
- 将所需的所有内容复制到 Chrome 扩展的目录。
- 对 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
?
解决方案
查看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'));
});
推荐阅读
- python - 如何在python中为linux设置复杂的环境变量?
- java - inflateException MainActivity.java.79
- bash - 电力线 - 如何从终端提示中删除“(e)基地”?
- spring-data-jpa - 如何格式化 postgres 的 spring-data-jpa 本机查询
- asp.net - 确保 .NET 中的唯一会话变量
- hyperledger-composer - 没有 npm 注册表的 Hyperledger Composer
- webpack - 配置 Webpack 以解析相对路径
- bash - 使用 shell 脚本提取 .ppt 文件中的幻灯片数量
- node.js - express: 安装 express-generator@4 后找不到命令
- reactjs - 如何在返回的对象中直接从动作中提取有效负载