我使用gulp-replace因为我需要在代码中找到并替换它。
我有这个功能:
function configure($mdIconProvider) {
$mdIconProvider
.iconSet('navigation', '/src/images/material-design-icons/navigation-icons.svg', 24)
.iconSet('action', '/src/images/material-design-icons/action-icons.svg', 24)
.iconSet('content', '/src/images/material-design-icons/content-icons.svg', 24);
}
我的正则表达式需要找到'/src/images or /images/
来替换它我想要的字符串,因为在我的开发环境中我的路径需要是/ src / images但是在分发中它需要只是/ images /。
所以我会这样做:
gulp.task('replace-svg-path', function() {
return gulp
.src(config.appConfigJs)
.pipe(gulpif(global.isDist, replace('/src', '/images')))
.pipe(gulpif(!global.isDist, replace('/src/images || /images', '/src/images')))
.pipe(gulp.dest(config.temp));
});
当然,替换函数的第一个参数需要是正则表达式。
我真的不太了解正则表达式,有人可以帮忙吗?
答案 0 :(得分:2)
要仅替换/src
,正则表达式将为/\/src/g
。
要替换/src/images
或/images
,正则表达式将为/(\/src)?\/images/g