gpt4 book ai didi

node.js - 如何避免在 ReactJS 同构应用程序中的服务器上出现错误 'localStorage is not defined'?

转载 作者:IT老高 更新时间:2023-10-28 23:16:33 26 4
gpt4 key购买 nike

我在我的 webApp 中使用 localStorage 在客户端存储数据。但是当我试图使应用程序同构时,这会导致问题。由于 node 不是浏览器环境,它不能定义诸如 'window'、'localStorage' 等对象。我该如何解决这个问题?

最佳答案

您可以通过检查模块是否不是'undefined'来检查代码是在服务器还是在客户端执行:

var isNode = typeof module !== 'undefined'

然后您可以继续在客户端只执行此代码:

if(!isNode){
//use the local storage
var myItem = localStorage.getItem(itemTitle)
}

但是,您应该在使用之前检查是否已定义 Storage,因为并非所有浏览器都支持它:

if(typeof(Storage) !== "undefined"){
//use the local storage
}

关于node.js - 如何避免在 ReactJS 同构应用程序中的服务器上出现错误 'localStorage is not defined'?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33724396/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com