2017-08-21 74 views
0

我好奇,如果有可能运行多个Angular2/4实例与相同的端口,但不同的子域/域。是否可以使用相同的端口运行多个Angular 2/4实例?

当我尝试在本地ip上运行一个实例并在localhost上运行一个实例时,第二次启动角度时,出现端口4200已在使用中的错误。

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

+0

Angular在浏览器中运行,而不是在服务器上运行。 Angular应用程序由HTTP服务器提供(Node.js,Apache httpd,nginx)。所以你希望有一个HTTP服务器提供多个应用程序。 –

回答

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其他应用程序angular2。我希望这能解决你的问题。

相关问题