【问题标题】:Express with Browser-SyncExpress with Browser-Sync
【发布时间】:2017-01-20 10:43:56
【问题描述】:

我想将 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');
});

【问题讨论】:

  • 你想在每次调用时拉一个不同的代理?
  • @EmileBergeron 是的。理想情况下,我希望有一个唯一的子域来引用每个代理 url。例如:sub1.mysite.com 将始终代理 www.example.com。 sub2.mysite.com 将始终代理 www.example2.com。有什么想法吗?

标签: node.js express reverse-proxy browser-sync


【解决方案1】:

所以事实证明这实际上并不容易做到。

我最终改用 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);

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

【讨论】:

    猜你喜欢
    • 2017-05-31
    • 2017-05-15
    • 1970-01-01
    • 1970-01-01
    • 2014-10-17
    • 2017-03-22
    • 2016-04-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多