5
我正在使用vhost
express/connect中間件,對於如何使用它我有點困惑。我希望將一組路由應用於具有子域的主機,另一組路由適用於沒有子域的主機。使用vhost中間件在Express中指定子域路由
在我的app.js文件,我有
var app = express.createServer();
app.use...(middlware)...
app.use(express.vhost('*.host', require('./domain_routing')("yes")));
app.use(express.vhost('host', require('./domain_routing')("no")));
app.use...(middlware)...
app.listen(8000);
,然後在domain_routing.js
:
module.exports = function(subdomain){
var app = express.createServer();
require('./routes')(app, subdomain);
return app;
}
,然後在routes.js
我打算就是否子域變量運行臺路線,依賴通過的是"yes"
或"no"
。
我在正確的軌道上,還是這不是你如何使用這個中間件?我有點困惑,有兩個app
服務器實例正在創建(因爲這是網上的例子似乎做的事情)。我應該改爲使用原來的app
服務器實例,而不是創建一個單獨的子域代替路由器嗎?
謝謝!而我的另一個問題是,如果我指定要用於原始服務器實例的中間件,然後使用單獨的服務器實例作爲虛擬主機,那麼用於原始服務器的中間件是否會轉移到虛擬主機?或者我應該在vhost上專門使用中間件(除了原始服務器上的虛擬主機中間件)基本上,我正在尋找一種在所有可能的虛擬主機上使用中間件的無縫方式,而不是必須明確地使用相同的中間件每一個虛擬主機都是重複的... – user730569
不,你不需要在所有虛擬主機上專門使用中間件。任何想要用於所有應用程序的中間件都可以在虛擬主機使用前使用'.use''d –
太棒了!但出於好奇,這是如何工作的?我猜我對於server.emit(「request」,req,res);'幕後操作有點困惑。 – user730569