我很好奇是否可以使用相同的端口运行多个Angular2 / 4实例,但是不同的子域/域。
当我尝试在本地ip上运行一个实例而在localhost上运行一个实例时,第二次启动角度,我得到一个错误,即端口4200已经在使用。
由于这是相同的,因为在一个具有不同子域的服务器上运行两个实例,如果不可能,那将是一个无赖。
答案 0 :(得分:0)
也许这个问题可以解释一下:
How do I host multiple Node.js sites on the same IP/server with different domains?
似乎你可以通过nginx实现这一点,这是我们计划用来托管我们node.js / angular app的多个版本
答案 1 :(得分:0)
是的,您可以在app.js
或任何节点条目脚本中检查所请求的主机并从中解析子域。并代表你需要提供angular2和angular4应用程序。
这是示例代码。
app.use('/',function(req,res,next){
var subdomain = extractSubDomain(req.headers.host);
if(subdomain=="subdomain1"){
app.use(express.static(path.join(__dirname, 'angular4', 'dist')));
}else{
app.use(express.static(path.join(__dirname, 'angular2', 'dist')));
}
next();
});
在此代码中,当您找到subdomain1
时,您将提供angular4 app的angular2 app。
我希望这能解决你的问题。