gulp常用插件之gulp-replace使用
更多gulp常用插件使用请访问:gulp常用插件汇总
gulp-replace这是一款gulp3的字符串替换插件。
安装
一键安装不多解释
npm install --save-dev gulp-replace
使用
简单的字符串替换
var replace = require('gulp-replace');
gulp.task('templates', function(){
gulp.src(['file.txt'])
.pipe(replace('bar', 'foo'))
.pipe(gulp.dest('build/'));
});
简单的正则表达式替换
var replace = require('gulp-replace');
gulp.task('templates', function(){
gulp.src(['file.txt'])
// See https://mdn.io/string.replace#Specifying_a_string_as_a_parameter
.pipe(replace(/foo(.{3})/g, '$1foo'))
.pipe(gulp.dest('build/'));
});
字符串替换为函数回调
var replace = require('gulp-replace');
gulp.task('templates', function(){
gulp.src(['file.txt'])
.pipe(replace('foo', function(match) {
//替换“foo”的实例为“oof”
return match.reverse();
}))
.pipe(gulp.dest('build/'));
});
正则表达式替换为函数回调
var replace = require('gulp-replace');
gulp.task('templates', function(){
gulp.src(['file.txt'])
.pipe(replace(/foo(.{3})/g, function(match, p1, offset, string) {
// 用barbaz替换foobaz并记录大量信息
// See https://mdn.io/string.replace#Specifying_a_function_as_a_parameter
console.log('Found ' + match + ' with param ' + p1 + ' at ' + offset + ' inside of ' + string);
return 'bar' + p1;
}))
.pipe(gulp.dest('build/'));
});
带文件对象的函数回调
var replace = require('gulp-replace');
gulp.task('templates', function(){
gulp.src(['file.txt'])
.pipe(replace('filename', function() {
//替代对象的“文件名”的实例为“file.txt的”
// this.file也可用于正则表达式替换
//参见https://github.com/gulpjs/有关可用属性的详细信息乙烯#实例的属性
return this.file.relative;
}))
.pipe(gulp.dest('build/'));
});
API
gulp-replace可以用字符串或正则表达式调用。
replace(string, replacement[, options])
string
类型:String
要搜索的字符串。replacement
类型:String或Function
替换字符串或函数。如果replacement是函数,则每次匹配都会调用一次,并将传递要替换的字符串。
this.file的值将等于正在处理的文件的vinyl instance实例。
replace(regex, replacement[, options])
regex
类型:RegExp
要搜索的正则表达式模式。replacement
类型:String或Function
替换字符串或函数。有关特殊替换字符串模式和替换函数参数的详细信息
this.file的值将等于正在处理的文件的vinyl instance实例。
gulp-replace的options
options是可选的第三个参数。
options
类型:Objectoptions.skipBinary
类型:boolean
默认值:true
跳过二进制文件。默认情况下,此选项为true。如果要替换二进制文件中的内容,则必须将其显式设置为false
gulp常用插件之gulp-replace使用的更多相关文章
- gulp常用插件之gulp-rev-rewrite使用
更多gulp常用插件使用请访问:gulp常用插件汇总 gulp-rev-rewrite这是一款重写对由gulp-rev修订的资产的引用. 更多使用文档请点击访问gulp-rev-rewrite工具官网 ...
- gulp常用插件之gulp-useref使用
更多gulp常用插件使用请访问:gulp常用插件汇总 gulp-useref这是一款可以将HTML引用的多个CSS和JS合并起来,减小依赖的文件个数,从而减少浏览器发起的请求次数.gulp-usere ...
- gulp常用插件之gulp-sourcemaps使用
更多gulp常用插件使用请访问:gulp常用插件汇总 gulp-sourcemaps这是一款用来生成映射文件的一个插件,SourceMap 文件记录了一个存储源代码与编译代码对应位置映射的信息文件.我 ...
- gulp常用插件之http-proxy-middleware使用
更多gulp常用插件使用请访问:gulp常用插件汇总 http-proxy-middleware这是一个用于后台将请求转发给其它服务器.其实这并不是转给gulp使用的,在其它构建工具也可以用. 更多使 ...
- 精通gulp常用插件
本文主要展示的是gulp常用插件的使用方法和用途,通过对插件的熟练运用达到精通gulp.不定期更新.可以到github上面下载DEMO. github地址:lin-xin/gulp-plugins 匹 ...
- node和gulp实现前端工程自动化(附:gulp常用插件)
/** * 1. LESS编译 压缩 合并 * 2. JS合并 压缩 混淆 * 3. img复制 * 4. html压缩 */ // 在gulpfile中先载入gulp包,因为这个包提供了一些APIv ...
- gulp常用插件之gulp-eslint使用
更多gulp常用插件使用请访问:gulp常用插件汇总 ** gulp-eslint**这是一个用于识别和报告在ECMAScript/JavaScript代码中找到的模式的Gulp插件.. 更多使用文档 ...
- gulp常用插件之gulp-babel使用
更多gulp常用插件使用请访问:gulp常用插件汇总 gulp-babel这是Babel的Gulp插件. 此自述文件适用于gulp-babel v8 + Babel v7检查7.x分支以了解使用Bab ...
- gulp常用插件之gulp-postcss使用
更多gulp常用插件使用请访问:gulp常用插件汇总 ** gulp-postcss**这是一款通过多个插件通过管道传递CSS,但是仅解析一次CSS. 更多使用文档请点击访问gulp-postcss工 ...
随机推荐
- [Effective Java 读书笔记] 第二章 创建和销毁对象 第三 四条
第三条 用私有构造器或者枚举类型强化singleton属性 singleton指只能被实例化一次的类,即将构造器设置为私有,使用公有静态成员来实例化,且只实例化一次对象 第四条 通过私有构造器强化不可 ...
- ansible----sudo
ansible 执行sudo的root命令,参看https://www.cnblogs.com/infaaf/p/10049896.html [nnn]103 ansible_ssh_host=10. ...
- linux硬盘分区、格式化、挂载超详细步骤(fdisk/parted))
- NOIP幂次方
#include<stdio.h> ] = { ,,,,,,,,,,,,,,, };//由题意n最大为20000,所以最多会用到2的14次方 //为了防止mid+1出错,故写到15次方 i ...
- .gitignore配置规则
1.gitignore文件 在git中如果想忽略掉某个文件,不让这个文件提交到版本库中,可以使用修改 .gitignore 文件的方法.这个文件每一行保存了一个匹配的规则例如: # 此为注释 – 将被 ...
- SpringCloud之Ribbon负载均衡的入门操作
使用Ribbon进行负载均衡 在使用Ribbon之前,我们先想一个之前的问题,之前我们将服务提供者注册进了eureka注册中心,但是在消费者端,我们还是使用的restTemplate调用的时候,其中写 ...
- 回炉重造之重读Windows核心编程-003-内核对象
内核对象是个比较难理解的概念,问题的根源就在于即使是<核心编程>书中也没有说清楚它的定义,只是不停地举例和描述它的性质,还有如何使用. 盲人摸象,难见全貌.只能尽可能列举它的性质,注意使用 ...
- Linux学习Day5:Vim编辑器、配置网卡、配置Yum软件仓库
今天首先学习Vim编辑器的使用,通过它可以对Linux系统的文件进行编写和修改.在Linux系统中一切都是文件,所以熟练掌握Vim编辑器的使用十分重要.最后通过配置主机网卡的实验,来加深Vim编辑器中 ...
- MFC/QT 学习笔记(二)——MFC入门
MFC以C++形式封装了Windows API //实践 编写MFC需要的头文件#include <afxwin.h> 程序执行流程: 实例化应用程序对象(有且只有一个) 执行程序入口函数 ...
- workerman离线推送方案
方案一:目前网上比较流行的 方案二:参考腾迅IM