2016-09-12 4 views
1

Ich möchte BrowserSync mit Express integrieren.Express mit Browser-Sync

Ich möchte eine URL aus der DB ziehen und sie als Proxy verwenden. Das Setup, das ich erstellt habe, initialisiert jedoch für jede Anfrage einen neuen BrowserSync-Server.

Gibt es eine Möglichkeit, dies zu erreichen, ohne jedes Mal einen neuen BrowserSync-Server zu initialisieren?

Oder sollte ich einen anderen Ansatz verwenden?

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'); 
}); 
+0

Sie möchten bei jedem Anruf einen anderen Proxy abrufen? –

+0

@EmileBergeron Ja. Idealerweise möchte ich, dass eine eindeutige Subdomain auf jede Proxy-URL verweist. Zum Beispiel: sub1.mysite.com wird immer Proxy www.example.com. sub2.mysite.com wird immer Proxy www.example2.com. Irgendwelche Gedanken? – Orane

Antwort

2

So stellt sich heraus, dass dies tatsächlich mit jeder Leichtigkeit getan werden kann.

Ich endete mit express-http-Proxy statt und express-vhost für Sub-Domains.

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

Hoffentlich hilft das jemand eines Tages.