我认为在实现同构单页应用程序时,您还开发了一个私有 api,您的客户将点击该 API 进行更新,这是隐含的。
我的问题是,当您将代码更改推送到服务器时,将会有“陈旧”的客户端仍在运行您的旧客户端代码,然后使用可能不兼容的参数和假设来访问您的 api。
我看到两种可能的解决方案:
- 版本化你的 api。您的客户端代码必须使用其当前版本号访问 api;您的服务器代码因版本控制逻辑而变得臃肿。
- 实现某种套接字/推送消息,以告诉客户端在部署发生时进行整页刷新以获取最新部署的代码。(这些连接在服务器部署后是否仍然完好无损?)
(如果您还需要支持移动应用程序客户端,那么 API 版本控制是必要的,但对于一个网站来说,似乎有很多不必要的工作。)
其他人遇到或解决这个问题吗?我还有其他选择吗?