我在index.html文件中有以下文本,我想用gulp-replace-task替换:
<img src="assets/images/logo
<img style="width:100px;height:100px;" src="assets/ima
我想让“资产”的所有实例都替换为“my / stuff”。
我尝试了以下操作,但它无效:
gulp.task('default', function() {
gulp.src('./index.html')
.pipe(replace({
patterns: [
{
match: '/assets/g',
replacement: 'my/stuff'
}
]
}))
.pipe(gulp.dest('./'))
答案 0 :(得分:4)
匹配可以是字符串,但是如果你想使用正则表达式,请删除正则表达式周围的引号'
。
gulp.task('default', function() {
gulp.src('./index.html')
.pipe(replace({
patterns: [
{
match: /assets/g,
replacement: 'my/stuff'
}
]
}))
.pipe(gulp.dest('./'))
答案 1 :(得分:3)
您也可以使用模块gulp-string-replace,它支持使用正则表达式,字符串甚至函数进行管理。
示例:
正则表达式:
var replace = require('gulp-string-replace');
gulp.task('replace_1', function() {
gulp.src(["./config.js"]) // Every file allown.
.pipe(replace(new RegExp('@env@', 'g'), 'production'))
.pipe(gulp.dest('./build/config.js'))
});
字符串:
gulp.task('replace_1', function() {
gulp.src(["./config.js"]) // Every file allown.
.pipe(replace('environment', 'production'))
.pipe(gulp.dest('./build/config.js'))
});
功能:
gulp.task('replace_1', function() {
gulp.src(["./config.js"]) // Every file allown.
.pipe(replace('environment', function () {
return 'production';
}))
.pipe(gulp.dest('./build/config.js'))
});