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
类型:Object
options.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工 ...
随机推荐
- 从Golang中open的实现方式看Golang的语言设计
Golang有很多优点: 开发高效:(C语言写一个hash查找很麻烦,但是go很简单) 运行高效:(Python的hash查找好写,但比Python高效很多) 很少的系统库依赖:(环境依赖少,一般不依 ...
- 性能测试监控平台Grafana的使用
Grafana的监控是基于数据库的,通过插件获取到服务器性能并存储到数据库中,然后使用Grafana连接数据库形成可视化的图表.本篇给大家介绍对服务器的性能的监控,下一篇会介绍对于mysql数据库的监 ...
- Prometheus监控k8s集合
Prometheus监控k8s Prometheus监控k8s(1)-Prometheus简介 Prometheus监控k8s(2)-手动部署Prometheus Prometheus监控k8s(3) ...
- shell脚本 server httpd 控制程序
原版的脚本里 查看status 需要用 lynx这个命令,还要开启http://localhost:80/server-status 比较麻烦,我直接注释了,新加的代码用红色字体 ...
- C#调用Windows API(示例:显示任务管理器里的程序名称)
作为初学者来说,在C#中使用API确是一件令人头疼的问题. 在使用API之前你必须知道如何在C#中使用结构.类型转换.安全/不安全代码,可控/不可控代码等许多知识. 在.Net Framework S ...
- 【转载】STM32 ST-LINK Utility介绍、下载、安装、使用方法
转载地址:https://blog.csdn.net/ybhuangfugui/article/details/52597133 总结的很好!!! Ⅰ.写在前面本文讲述的内容是STM32 ST-LIN ...
- webpack nodejs npm关系
nodejs是js后端运行平台,可以把它看成java体系中对应的jdk,是三个里面最基础的.npm是nodejs的包管理工具,可以把它看成maven中包依赖管理那部分.webpack是前端工程化打包工 ...
- bootstrap--网格化布局
1.响应式网格系统随着屏幕或视口(viewport)尺寸的增加,系统会自动分为最多12列 2.规则 行必须放置在 .container class 内,以便获得适当的对齐(alignment)和内边距 ...
- QT学习之路-QT服务器-mysql数据库相关问题集锦(1)
时间:2017-04-07 异常信息: Error - RtlWerpReportException failed with status code :-1073741823. Will try to ...
- 一个用python写的比特币均线指标
https://blog.csdn.net/gsl222/article/details/104554397 https://github.com/yyy999/auto_ma912 一个用pytho ...