是否可以使用相同的端口运行多个Angular 2/4实例?

时间:2017-08-21 12:33:06

标签: node.js angular

我很好奇是否可以使用相同的端口运行多个Angular2 / 4实例,但是不同的子域/域。

当我尝试在本地ip上运行一个实例而在localhost上运行一个实例时,第二次启动角度,我得到一个错误,即端口4200已经在使用。

由于这是相同的,因为在一个具有不同子域的服务器上运行两个实例,如果不可能,那将是一个无赖。

2 个答案:

答案 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。 我希望这能解决你的问题。