本地存储未定义

ili*_*vic 4 javascript jwt vue.js

我正在使用 Nuxt.js 进行 SSR。每当我登录我的应用程序时,我都有一个登录系统,我会获得一个 JSON Web 令牌(JWT)并将其存储在我的本地存储中。

现在的问题是SSR。每当我尝试访问本地存储时,它都会说它未定义。我找到了一篇关于这个问题的 Stackoverflow 文章,因为代码是服务器端渲染的,所以它无法访问本地存储。

我尝试使用created()生命周期挂钩来检查本地存储中是否存在令牌,但没有成功。我也尝试过nuxtServerInit也没有成功。

我如何检查客户端本地存储中是否存在令牌或者是否有更好的主意?

Bil*_*qui 5

您可以调用一个函数mounted

export default {
  mounted() {
    this.storage();
  },
  methods:{
    storage(){
       localStorage.getItem("authToken");
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

或与检查created一起使用process.browser

export default {
  created() {
    this.storage();
  },
  methods:{
    storage(){
      if (process.browser){
          localStorage.getItem("authToken");
      }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)