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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具