Nuxt.js:未定义窗口

Posted

技术标签:

【中文标题】Nuxt.js:未定义窗口【英文标题】:Nuxt.js: window is not defined 【发布时间】:2021-01-15 07:39:04 【问题描述】:

我正在使用 Nuxt.js。设置 vuex-persist 时出现以下问题。有人可以帮我吗?

存储/index.js

存储/LangModule.js

【问题讨论】:

你不能在存储文件上调用window。您必须将其作为插件导入并在客户端而不是服务器端调用它,请阅读文档。已经提到了npmjs.com/package/vuex-persist 【参考方案1】:

知道 Nuxt 在服务器端和客户端都可以工作很重要,所以你不能在所有地方都使用window,因为它只存在于客户端。

您可以声明此插件无 s-s-r 以避免在服务器端运行它。

关注documentation:

nuxt.config.js

export default 
  plugins: [
     src: '~/plugins/vuex-persist', s-s-r: false 
  ]

~/plugins/vuex-persist.js

import VuexPersistence from 'vuex-persist'
 
export default ( store ) => 
  new VuexPersistence(
  /* your options */
  ).plugin(store);

【讨论】:

以上是关于Nuxt.js:未定义窗口的主要内容,如果未能解决你的问题,请参考以下文章

Nuxt.js 中的“文档未定义”

Nuxt.js 的 data() 中未定义变量

从直接链接导航时,Nuxt.js `this.$route.params.id` 未定义

Nuxt JS 未定义 Firebase 存储 XMLHttpRequest 错误

带有 Firebase 的 Nuxt.js s-s-r - ReferenceError:未定义导航器

nuxt.js引入客户端脚本和第三方库出现window/document/ navigator未定义问题