Reactjs客户端需要在部署后强制刷新



每次向生产或任何其他环境进行新部署时,客户端都需要使用ctrl-shift r强制刷新和清除缓存以更新UI,该项目都是使用Create React App进行的。

已经将元标记添加到HTML文件中,但不起作用

<meta http-equiv='cache-control' content='no-cache'>
<meta http-equiv='expires' content='0'>
<meta http-equiv='pragma' content='no-cache'>

我缺少什么配置吗?

你的src/index.js文件应该看起来像这个

import React from 'react';
import ReactDOM from 'react-dom';
import App from './components/App';
import * as serviceWorker from './serviceWorker';
ReactDOM.render(<App />, document.getElementById('root'));
// If you want your app to work offline and load faster, you can change
// unregister() to register() below. Note this comes with some pitfalls.
serviceWorker.register();

只需更改

serviceWorker.register();

对于

serviceWorker.unregister();

在head标记中添加元标记,以确保页面的内容没有被缓存。

<meta http-equiv='cache-control' content='no-cache'>
<meta http-equiv='expires' content='0'>
<meta http-equiv='pragma' content='no-cache'>

试试这个,也许你需要缓存控制

<meta http-equiv='cache-control' content='no-cache'>
<meta http-equiv='expires' content='0'>
<meta http-equiv='pragma' content='no-cache'> 

或者读这个https://webpack.js.org/guides/caching/

您正在使用哪种版本的CRA?如果它是由ServiceWorker引起的,那么您应该禁用ServiceWorker。

import { unregister } from './registerServiceWorker';

unregister();

最新更新