Express 与浏览器同步

Express with Browser-Sync

我想将 BrowserSync 与 express 集成。

我想从数据库中提取一个 URL 并将其用作代理。然而,我提出的设置会为每个请求初始化一个新的 BrowserSync 服务器。

有没有办法不用每次都初始化一个新的 BrowserSync 服务器就可以做到这一点?

或者我应该使用其他方法吗?

var bs      = require("browser-sync");
var express = require("express");

var router  = express.Router();
var app     = express();

router.get("/", function(req, res){
    bs.create("bs1").init({
        notify: false,
        open: false,
        ui: false,
        port: 10000,
        proxy: 'http://example.com'
    });
        res.send();
});

app.use(router);

app.listen(8080, function(){
  console.log('listening on *:8080');
});

事实证明,这实际上无法轻松完成。

我最终改用 express-http-proxy 并为子域使用 express-vhost。

app = require('express')();
vhost = require('vhost');
proxy = require('express-http-proxy');

app.use(vhost('sub1.mysite.com', proxy('http://www.example.com')));

app.listen(8080);

希望有一天这对某人有所帮助。