gpt4 book ai didi

angular - Angular 2 应用程序中后端 API url 的运行时配置建议

转载 作者:太空狗 更新时间:2023-10-29 17:05:41 27 4
gpt4 key购买 nike

这已经困扰我一段时间了,似乎每隔一周,我就会想出一组不同的优缺点。

要点是一个好的 SPA 分为两个不同的部分。前端和后端。前端应该只处理静态文件(javascript、css、html 等),而后端提供实际数据并且是动态的。但是,我似乎总是希望前端动态的一 block 是后端 URL

我的意思是,我通常关闭我的应用程序,比如说 http://server:123/ 和我的 API 来自 http://other:456/api。通常,otherserver 是相同的,但端口会发生变化,但随着规模的扩大,情况并非总是如此。

所以,我的问题是:向 Angular 2 应用程序提供配置数据的最佳做法是什么?

这是我已经想到的:

代理

大多数网络服务器,即使是大多数面向静态内容的网络服务器,都提供某种代理配置(nginx、angular-cli serve 等)。代理的问题是请求确实进行了双跳。它首先必须发送到静态 服务器,然后该服务器必须返回并发出真正的请求。我不喜欢这种架构,尽管我过去曾在其他应用程序中使用过它。

配置文件

这是我目前最喜欢的。我几乎在我的静态内容服务器上提供一个静态文件(比方说 /config.json),其中包含一个或多个 URL 或其他非敏感信息。我喜欢这种方法,因为它允许您使用代理,或者。由你决定。大多数时候,将您的网络服务器配置为返回基于 url 的静态文件非常简单(比如 /config)。

代码配置

这是我最不喜欢的。在这种方法中,配置直接写入代码文件(例如 config.ts),并且必须针对每个环境进行更改。我认为代码和配置是 2 个不同的任务,在我工作过的大多数公司中,它们由 2 个不同的团队处理。仅仅为了更改后端 URL 就必须重新编译代码并重新部署是很愚蠢的。

最佳答案

我使用配置文件,但更喜欢通过 DevOps 工具设置环境变量。

对于容器,为了简化配置,我使用了环境变量。否则我会传递后端配置存储的配置,例如 Redis 或现在的 Kube Secrets(更易于使用)。

关于angular - Angular 2 应用程序中后端 API url 的运行时配置建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41839141/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com