【问题标题】:Is it possible to have different port for different environment (region) in Angular CLI?Angular CLI 中是否可以为不同的环境(区域)设置不同的端口?
【发布时间】:2017-07-20 21:07:19
【问题描述】:

我正在将 Angular 2 应用程序(使用 Webpack)迁移到 Angular 4(使用 CLI)

我们有区域 Localhost(Windev)、Dev、UAT、SIT 和 Prod

现在我要求每个环境都有不同的端口。

我在同一台服务器上为环境 SITUAT 部署相同的应用程序,因此需要有不同的端口。

但我不知道如何在 CLI 中执行此操作,因为我是新手。

export const environment = {
  production: false,
  defaults: {
    "serve": {
      "port": 3000
    }   
  } 
};

我们可以做这样的事情吗?每个环境文件都有不同的端口。

【问题讨论】:

  • 我不建议将 angular-cli 作为生产工具来为您的应用程序提供服务,相反,您可以使用经典的 apache 简单地提供服务。根据您正在侦听的端口配置您的虚拟主机以提供不同版本的应用程序。
  • 你是对的 Supamiu,这就是我们目前在 prod、SIT 和 UAT 中的做法。但是我们有 dev 和 localhost,我们可能需要不同的端口。
  • 对于开发环境,每个开发人员应该有一个开发环境,因为他们在本地托管它,所以他们只需要调用 ng serve 来启动他们的本地开发服务器。您的“开发”似乎更像是一个“预生产”环境,应该像生产一样完全配置,但对外部用户不可用。
  • 是的,Supamiu,同意。

标签: angular ember-cli angular-cli


【解决方案1】:

除了本地开发之外,您不会使用 Angular-CLI 嵌入式网络服务器为其他环境提供服务。 原因是对于验收测试,您希望尽可能地重现生产环境。由于您将在生产环境中使用真正的网络服务器(nginx、apache、iis、...),因此您还需要在其他阶段复制它。 (Angular CLI 网络服务器不适合生产使用,原因之一是可扩展性。) 您可以使用不同的端口或路径映射到文档根目录,以便在使用同一服务器时为环境提供服务。配置取决于您要使用的网络服务器。 如果您无论如何都需要在不同的端口上启动,您可以使用

ng serve --port 4201

使用端口 4201 代替默认端口。

【讨论】:

  • 谢谢Thomas,这很简单,我没想到,以前也看到过,现在才意识到,我们可以在不同的环境下用不同的参数执行相同的命令。跨度>
猜你喜欢
  • 1970-01-01
  • 2020-12-14
  • 1970-01-01
  • 1970-01-01
  • 2015-10-11
  • 1970-01-01
  • 2022-08-15
  • 2018-12-08
  • 1970-01-01
相关资源
最近更新 更多