如何在发布新代码时从客户端清除本地存储

时间:2018-02-15 06:55:20

标签: javascript angular local-storage

我在Angular 4上构建了我的应用程序,我使用本地存储来存储用户会话。我想要的是每当我发布我的应用程序时,用户本地存储应该被重置,以便在发布之前的数据不会产生任何问题。

我该怎么做?

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 日。

使用应用版本控制

最佳做法是自动进行版本控制,这样您就不必一次又一次地手动设置应用版本。

这个想法是

  1. 获取当前的 git SHA,如果没有找到旧的 SHA,则将其存储在 localstorage 中。
  2. 如果找到旧的 SHA,则比较 SHA,如果不相等,则清除存储,在 localstorage 中设置新的 SHA。

这将为您提供当前提交 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();
}`