【问题标题】:Force React application to update after deployment强制 React 应用程序在部署后更新
【发布时间】:2017-09-23 12:59:49
【问题描述】:

我正在使用 React 构建 SPA 网页,问题是当我部署最新版本的应用程序时,浏览器客户端不会改变,除非用户刷新页面。

在多页面应用中,当用户点击<a/>标签时会请求服务器重新渲染一个新页面。

有没有办法解决这个问题?

【问题讨论】:

标签: reactjs


【解决方案1】:

您的需求有点类似于聊天应用程序(它会通过自动发送聊天消息来更新自己)

我也在我的项目中使用了这个自动更新的想法,它使用了 Meteor/React 和 websocket。 但是,我的项目的架构相当复杂,不知道你的是否更简单

无论如何,你可以阅读下面的文章,这很有帮助:

http://julian.io/live-chat-app-using-meteor-and-the-ddp-protocol/

如果您仍然需要更多关于如何实现它的解释,请随时提出,我将尝试用我自己的项目经验来解释

【讨论】:

  • 链接的文章很大,但我找不到与问题相关的答案
【解决方案2】:

答案是告诉浏览器在从您的主机下载 javascript 包时不要缓存它。 你想设置标题:

"headers": [
  {"source": "**", "headers": [{"key": "Cache-Control", "value": "no-cache"}]}
]

如果您使用的是 Create React App,则默认 repo README 中有相关说明,例如 Firebase 托管。

如果您希望应用侦听生产版本的更改,您可以轮询一个告诉您当前版本是什么的端点,您可以将其与本地存储进行比较。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-07-28
  • 1970-01-01
  • 2020-03-23
相关资源
最近更新 更多