新的构建反应项目后如何删除缓存

时间:2020-06-08 08:16:44

标签: javascript reactjs browser-cache

当我们在React项目中有一个新版本时,使用PWA的用户由于拥有旧的缓存而无法进行最后更改,因此必须按 ctrl + < kbd> F5 重新加载,然后我们的更改生效,因此我们尝试找到解决该问题的最佳解决方案。

我想从react项目中为新用户删除所有用户的缓存。

1 个答案:

答案 0 :(得分:1)

最后,我为我的项目解决了这个问题。 我在本地存储中定义了一个用于版本控制的变量,并在构建后保存了项目版本,并在第一个React文件(例如componentDidMount()中的Routes.js)中检查了版本,如果它们不匹配,请运行代码下方:

window.location.reload(true);

示例:

    componentDidMount(){
        let name = 'Project-Name'
        let version = '1.0.0'
        console.log(`${name} v${version} ?`)
        const last_version = localStorage.getItem(`${name}-Version`)
        if(last_version !== version){
            console.log('New Version Available ! ?')
            localStorage.setItem(`${name}-Version`, version)
            window.location.reload(true);
        }
    }