如何在加载时配置 SPA?

2023-12-09

我们正在使用 Webpack、React、Node.JS,但我认为这个问题比特定技术更通用。在构建开发模式或生产模式时(例如使用 DefinePlugin),我可以使用 Webpack 配置 SPA。

如何针对不同的部署环境(例如登台与生产)在生产模式(在构建时配置)配置 SPA?例如,这些不同的部署将与不同的后端服务器 API 进行通信。

SPA 必须以某种方式从服务器获取一些本地上下文,因为浏览器正在获取它。或者也许我们必须在每台服务器上都有一个 SPA 可以安全获取的自定义配置文件?

我们在服务器上使用 NodeJS,这个 SPA 最终将作为同构应用程序运行,因此可能会有所帮助。我们在 Docker 映像中部署这些应用程序,并且可以轻松在部署时配置其环境。

感谢您的任何建议。


我找到了一种完成所需任务的方法。这是通过在提供 SPA 时设置包含配置详细信息的 cookie 来实现的。然后,SPA 可以读取该 cookie 以获取配置(并删除该 cookie,因为不再需要它)。

有一个名为 ClientConfig 的 NPM 模块将有助于完成我所描述的操作。它的工作原理与名为 GetConfig 的配套 NPM 模块非常相似,后者有助于在服务器端进行配置。客户端配置:https://github.com/henrikjoreteg/clientconfig

这里描述了如何使用 ClientConfig 和 GetConfig (单独和一起):http://read. humanjavascript.com/ch12-settings-and-configs.html

这对我来说似乎是一个解决方案,尽管我想知道是否有任何潜在的安全问题(这总是比第一次出现的更复杂)以及是否没有更简单的方法。任何评论或进一步的解决方案将不胜感激。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在加载时配置 SPA? 的相关文章

随机推荐