我们使用的是 ant-design-pro ,每次更新,如果用户不刷新页面的话,始终访问的旧版页面,如果旧版js文件删除,就会出现404问题,如果旧版文件有修改,比如说 旧版js里的接口有变化,就会出现错误,也可能会出现一直loading的问题。
1、问题复现
const Index = () => {
return (
<PageContainer>
<Card>你好。</Card>
</PageContainer>
);
};
我们在《你好》前面加上。我们发布上线。如果用户不刷新,看到的还是旧页面。
2、解决思路
-
我们在发布时,在dist目录里生成一个buildtime.txt 文件,里面放上发布时的时间戳。发布时设置为不缓存。
-
每次切换菜单,即路由变化时,请求该文件,与本地localstorage进行比对,如果不一致,就刷新页面。