浏览器同步中间件以替换字符串



我正在尝试创建一个浏览器同步中间件,以便在将HTML文件提供给浏览器之前替换它们中的字符串。

我不完全确定这是否可能。

到目前为止,我能够确定何时通过以下方式请求HTML文件:

function hublMiddleware (req, res, next) {
  var parsed = require("url").parse(req.url);
  if (parsed.pathname.match(/.html$/)) {}
  next();
};

我可以在if语句中放一个console.log(),这样我知道它正在工作。

但从这里我真的被困住了。我已经搜索了如何做到这一点的例子,例如

  res.removeHeader('Content-Length');
  res.pipe($.replace(/({{s|s}})|({%.*%})/g, '<!---->'))
    .pipe(res);
  return next();

但无济于事。

应该说我正在使用Gulp的Browsersync。任何这方面的帮助将不胜感激!

这个完全符合你的要求:BS-重写规则

这是我如何使用它:

gulp.task('serve', function () {
    browserSync({
        port: 8000,
        server: {
            baseDir: './'
        },
        plugins: ['bs-rewrite-rules'],
        rewriteRules: [
            {
                match: 'YOUR_GOOGLE_MAPS_API_KEY',
                replace:'<MY_ACTUAL_API_KEY>'
            }
        ]
    });
    gulp.watch(['*.html', 'css/**/*.css', 'js/**/*.js'], reload);
});

最新更新