当我更新我的网站时,运行 npm run build 并将新文件上传到服务器我仍然在寻找我网站的旧版本。
没有 React,我可以通过缓存破坏查看我网站的新版本。我这样做:
上一个文件
<link rel="stylesheet" href="/css/styles.css">
新文件
<link rel="stylesheet" href="/css/styles.css?abcde">
我该如何做这样的事情或使用 create react app 实现缓存破坏?
create react app 的 GitHub 中有很多关于此的主题,但没有人有正确/简单的答案。
最佳答案
编辑:create-react-app v2 现在默认禁用 service worker
此答案仅适用于 CRA v1
这可能是因为您的网络 worker 。
如果您查看 index.js 文件,您可以看到
registerServiceWorker();
从来没有想过它做了什么?如果我们看一下它从中导入的文件,我们可以看到
// In production, we register a service worker to serve assets from local cache.
// This lets the app load faster on subsequent visits in production, and gives
// it offline capabilities. However, it also means that developers (and users)
// will only see deployed updates on the "N+1" visit to a page, since previously
// cached resources are updated in the background.
// To learn more about the benefits of this model, read {URL}
// This link also includes instructions on opting out of this behavior.
如果要删除 Web Worker,请不要只删除该行。导入 unregister 并在您的文件中调用它而不是在 register 中调用它。
import { unregister } from './registerServiceWorker';
然后打电话
unregister()
附言注销后,至少需要刷新一次才能生效
关于reactjs - 使用 CRA React 清除缓存,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49604821/