[英]How to change a href link with gulp
我正在用 gulp 创建一个需要更改 href 参数的任务。 例如:
在我的 html 文件中,我有一个链接:
<a href="myfolder">Click here</a>
因此,“myfolder”是可变的,指的是 index.html 所在文件夹的名称。 当我将文件推送到服务器上时,页面不显示,因为它不是针对 index.html 文件,而只是文件夹的名称。
我通过以下方式使用 gulp-replace 来完成任务:
var gulp = require('gulp'); var replace = require('gulp-replace'); gulp.task('templates', function(){ gulp.src(['index.html']) .pipe(replace('<a href="*/" >', '<a href="*/index.html >"')) .pipe(gulp.dest('build/')); });
由于文件夹名称 (myfolder) 是可变的,因为每次我处理项目时,我都必须创建一个新文件夹,最后 index.html 文件不能只包含特定名称。
所以,这个方法行不通。
任何帮助将不胜感激。
亲切的问候,
费尔南多
您需要在replace
调用中定义一个正则表达式并匹配href
中的部分:
replace(/<a href="(.*)"/g, '<a href="$1/index.html"')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.