【发布时间】:2017-11-07 17:14:05
【问题描述】:
所以我有一个 Angular 2/4 应用程序,有一个节点 server.js 来服务它。我想访问一个环境变量(后端端点是 localhost 用于开发,另一个端点用于生产)。如果重要的话,这个应用程序(以及后端应用程序)将被部署到 Heroku。
我已尝试找到解决方案,但我发现的所有内容似乎都导致使用多个 environment.ts 文件(每个配置 1 个),然后根据 ng build 标志 --env 在它们之间进行交换。但我对这个解决方案感到担忧,因为它似乎混合了配置和源代码。我还想避免(如果可能)在端点/配置更改时重新构建/重新部署。
在 Spring Boot 中,我习惯于在属性文件中使用像 ${PORT:8080} 这样的配置。虽然我过去也创建了多个 .properties 文件,但我知道有时这样做更简单/更干净。
在节点中,我习惯于做像process.env.PORT || 8080 这样的环境变量。由于我的角度应用程序由节点 server.js 提供服务,我认为我应该能够做类似的事情。但是当我尝试在我的environments/environment.ts 文件中使用process.env 时,我收到错误Cannot find name 'process'.
所以我的问题本质上是,如果我需要创建多个 environment 属性文件,或者是否有替代方案。
谢谢
【问题讨论】:
-
不是真的。但是你
标签: node.js angular environment-variables