Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 使用浏览器同步的Express_Node.js_Express_Reverse Proxy_Browser Sync - Fatal编程技术网

Node.js 使用浏览器同步的Express

Node.js 使用浏览器同步的Express,node.js,express,reverse-proxy,browser-sync,Node.js,Express,Reverse Proxy,Browser Sync,我想将BrowserSync与express集成 我想从数据库中提取一个URL,并将其用作代理。然而,我的设置为每个请求初始化一个新的BrowserSync服务器 有没有一种方法可以在每次不初始化新的BrowserSync服务器的情况下实现这一点 或者我应该使用另一种方法 var bs = require("browser-sync"); var express = require("express"); var router = express.Router(); var app

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

所以事实证明,这并不是一件容易的事

我最终使用了ExpressHTTP代理,并将ExpressVHost用于子域

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);

希望有一天这能帮到别人。

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