所以我知道这个工程:如何在没有硬编码的情况下在Expressjs中设置vhost?
app.use(express.vhost('sub.xyz.com', subdomainApp));
app.use(express.vhost('xyz.com', mainApp));
但是当我尝试设置express.vhost主机部分动态,它根本不起作用。 (我需要,以避免改变硬编码的域名,而我的生产和开发之间移动动态设置。)
我尝试下面的代码,我不知道为什么这不起作用:
app.use(function(req, res){ return express.vhost('xyz.'+req.host, subdomainApp); });
app.use(function(req, res){ return express.vhost(req.host, mainApp); });
那么我如何将'请求主机'动态地传递给express.vhost呢?
很可能,传递给'app.use'的函数与express.vhost('sub.xyz.com',subdomainApp)将返回的函数并不等效。例如,你的没有'next',所以请求可能会挂起 – Plato