vuepress打包报错 localStorage is not defined
原因
在 VuePress 中,localStorage 是在浏览器中使用的全局对象。所以,在构建静态页面时,无法访问到该对象,从而会导致打包报错。
解决方法
通过在代码中判断当前环境是否为浏览器,然后再访问 localStorage 对象。可以使用以下代码来避免打包报错:
if (typeof window !== "undefined") {
// 在浏览器环境下执行 localStorage 相关操作
localStorage.setItem("key", "value");
}
这段代码的意思是:如果当前环境为浏览器,则执行 localStorage 相关操作;否则不执行。这样就可以避免在构建静态页面时访问 localStorage 对象,从而解决打包报错问题。