我正在尝试重写通过BrowserSync代理加载的网站的HTML。
我答:
- ./src/search.txt --包含正则表达式匹配
- ./build/replace.txt --包含网页的替换HTML
我希望browserSync在每次更改这些文件时重新加载。
我咽了一口唾沫:
gulp.task('readRegEx', function() {
search_text = fs.readFileSync("./src/search.txt", "utf-8").toString();
replace_text = fs.readFileSync("./build/replace.txt");
});
gulp.task('browser-sync', ['readRegEx'], function() {
browserSync({
files: ['./src/search.txt','./build/replace.txt'],
proxy: {
target: "http://www.example.com"
},
rewriteRules: [
{
match: new RegExp(search_text,"g"),
once: true,
fn: function (match) {
return replace_text;
}
}
]
});
});
这几乎是可行的。
它读取/src/search. txt并加载(regex),然后用/build/replace. txt的内容替换它。
但它只工作一次。所以如果我更新search.txt或replace.txt,browserSync会重新加载,但rewriteRules位不会再次运行。
有没有办法告诉browserSync中的rewriteRules在文件更新时再次运行?
1条答案
按热度按时间7cjasjjr1#
我觉得你每次都应该看一下档案。