gpt4 book ai didi

reactjs - 使用 CRA React 清除缓存

转载 作者:行者123 更新时间:2023-12-03 12:57:31 29 4
gpt4 key购买 nike

当我更新站点时,运行 npm run build 并将新文件上传到服务器,我仍在查看站点的旧版本。

没有 React,我可以看到带有缓存清除功能的网站的新版本。我这样做:

上一个文件

<link rel="stylesheet" href="/css/styles.css">

新文件

<link rel="stylesheet" href="/css/styles.css?abcde">

我怎样才能做这样的事情或通过创建 react 应用程序实现缓存清除?

create React app 的 GitHub 上有很多关于此问题的线程,但没有人有正确/简单的答案。

最佳答案

编辑:create-react-app v2 现在默认禁用服务工作线程

此答案仅适用于 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/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com