use*_*569 5 javascript subdomain middleware node.js express
我正在使用vhost快速/连接中间件,我对它应该如何使用感到有点困惑.我希望有一组路由适用于具有子域的主机,另一组适用于不带子域的主机.
在我的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);
Run Code Online (Sandbox Code Playgroud)
然后在domain_routing.js:
module.exports = function(subdomain){
var app = express.createServer();
require('./routes')(app, subdomain);
return app;
}
Run Code Online (Sandbox Code Playgroud)
然后在routes.js我计划运行多组路由,这取决于传入的子域变量是否为"yes"或"no".
我是在正确的轨道上还是这不是你如何使用这个中间件?我对app创建了两个服务器实例这一事实感到有点困惑(因为这就是网上的例子似乎在做什么).我是应该传入原始app服务器实例而只是使用它而不是创建一个单独的子域路由器?
是的,您走在正确的道路上。你应该为每个虚拟主机拥有不同的服务器实例。无论是http.Server或express app.
如果您传递原始的app,您发送到虚拟主机的请求将被发送到原始应用程序。因此,除非虚拟主机具有原始服务器中未使用的路径,否则它将获得响应,就像请求已发送到原始服务器一样。
来自连接文档
connect()
.use(connect.vhost('foo.com', fooApp))
.use(connect.vhost('bar.com', barApp))
.use(connect.vhost('*.com', mainApp))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1455 次 |
| 最近记录: |