Ash*_*ken 5 configuration node.js singlepage single-page-application
我们正在使用 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
这对我来说似乎是一个解决方案,尽管我想知道是否有任何潜在的安全问题(这总是比第一次出现的更复杂)以及是否没有更简单的方法。任何评论或进一步的解决方案将不胜感激。
| 归档时间: |
|
| 查看次数: |
1968 次 |
| 最近记录: |