首页 > 解决方案 > Angular 6:如何支持任何第三方都可以更改的环境变量

问题描述

简单的问题:我有一个包含 ASP.NET Core Web API 和前端 Angular 6 应用程序的软件解决方案。我想在我的网站上提供一个链接来下载已编译的应用程序(不是源代码),以便任何 IT 人员都可以下载它并将其托管在他们想要的任何服务器上。但是,在服务器上部署应用程序的人必须配置应用程序所依赖的某些“环境变量”。在 ASP.NET Core 后端的情况下,解决方案很简单,有多种记录方式配置 - 例如 - 特定于特定部署的 3rd 方 API 密钥和数据库连接字符串等。它们不必在构建中进行硬编码。但我无法为 Angular 客户端找到类似的东西。如果有意义的话,我们至少需要能够在 Angular 客户端中指定托管后端 API 的位置,而无需重新构建客户端。我可以想到一些解决方案,但我正在寻找一种流行的最佳实践,因为我猜这是一个常见的要求,任何帮助表示赞赏。

当然,angular CLI 生成的 environment.ts 和 environment.prod.ts 文件没有用,因为它们只能在原始源代码中编辑,而不是在编译 angular 应用程序之后。

标签: angular

解决方案


您可以将全局变量与包含在 index.html 中的 globals.js 文件一起使用,也可以对 json 文件发出 http 请求。我希望 environment.ts 文件具有等效的运行时文件,但没有。


推荐阅读