【问题标题】:How do you make the browser not cache React?如何让浏览器不缓存 React?
【发布时间】:2022-01-21 22:30:30
【问题描述】:

我在元标记中尝试了“无缓存”,但它似乎不起作用,并且我的页面的用户由于缓存而遇到问题。由于 NPM 包更新,我不需要缓存浏览器,并且错误一直发生,直到缓存被删除。这可能是由于组件已更新并包含我正在使用的库中的错误。

【问题讨论】:

  • 通常通过在每个文件的名称中添加一个哈希,因此如果它发生更改,则不再是缓存命中。研究“缓存破坏”。
  • @jonrsharpe 每个文件是指整个项目吗?我们已经在元标记中有一个与 git-commit 相同的哈希
  • 在构建的 outputs 中。例如。以下是 CRA 应用程序的一些输出:github.com/textbook/abv/tree/gh-pages/static/js.
  • 所以我们可以为每个构建执行此操作? @jonrsharpe
  • 这将取决于您如何进行构建,请阅读相关工具的文档。 CRA 会自动执行此操作,但如果您使用的是例如Webpack 直接你必须配置它。

标签: javascript html reactjs browser-cache


【解决方案1】:

如果您在图像上遇到缓存问题,那么您可以在图像上添加一个随机数。所以每次你的应用渲染它都会渲染一个新的图像

<img src={randomImg+"?v="+new Math.random()} />

每次渲染时它都会给出一个全新的图像

在每次渲染时对图像进行 chache 性能不佳。因此,要摆脱每次渲染时的渲染图像,而不是使用 Math.random(),您还可以使用 Date 并且可以在您喜欢的任何时间每分钟或每小时刷新一次图像。

【讨论】:

  • 最好是删除每个构建的缓存
猜你喜欢
  • 2021-07-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-08-19
相关资源
最近更新 更多