我在Angular 4上构建了我的应用程序,我使用本地存储来存储用户会话。我想要的是每当我发布我的应用程序时,用户本地存储应该被重置,以便在发布之前的数据不会产生任何问题。
我该怎么做?
答案 0 :(得分:3)
使用版本控制,在客户端保留一个额外的密钥,该密钥将具有最新版本。如果版本匹配则表示没有新代码发布,如果版本没有匹配,告诉新代码已经通过,那么只需要一个实用程序来清除本地存储。
答案 1 :(得分:0)
您可以在应用程序和本地存储中存储版本字符串。 在您的应用启动时,您检查localStorage中的字符串是否与应用程序中的字符串匹配。如果没有,请清除本地存储。
答案 2 :(得分:0)
config / app.php
return [
'version' => env('APP_VERSION', "1.0.0"),
在***。blade.php中
<script>
var version_app = "{{ config('app.version') }}"
</script>
添加到**。js
if(typeof localStorage.version_app === 'undefined' || localStorage.version_app === null) {
localStorage.setItem('version_app', version_app);
}
if(localStorage.version_app != version_app){
localStorage.clear();
}
更改版本时,脚本会自动删除localStorage数据
答案 3 :(得分:0)
2021 年 5 月 20 日。
使用应用版本控制。
最佳做法是自动进行版本控制,这样您就不必一次又一次地手动设置应用版本。
这个想法是
这将为您提供当前提交 SHA 的当前简短版本。
git rev-parse --short HEAD
在您的 package.json
scripts:{
start : `REACT_APP_CURRENT_GIT_SHA=`git rev-parse --short HEAD` react-scripts app.js
}
在代码中,我们通过
获取这个变量process.env.REACT_APP_CURRENT_GIT_SHA
代码:
const APP_VERSION = process.env.REACT_APP_CURRENT_GIT_SHA;
if (typeof localStorage.APP_VERSION === 'undefined' || localStorage.APP_VERSION === null) {
localStorage.setItem('APP_VERSION', APP_VERSION);
}
if (localStorage.APP_VERSION != APP_VERSION) {
localStorage.clear();
}`