【问题标题】:nuxt.js document is not defined, problem with puginnuxt.js 文档未定义,pugin 有问题
【发布时间】:2019-12-09 10:56:24
【问题描述】:

我在我的nuxt.js 项目中添加了插件:vue-burger-menu。我有一个错误:"document is not defined"。我知道,这个插件只适用于客户端。所以我在 vue 文档enter link description here 中找到了我必须做的事情来修复它。它仅适用于第一次刷新。然后我又没有定义文件。

nuxt.config.js:

  build: {
vendor: ['vue-burger-menu'],
 }

 plugins: [
{ src: '~/plugins/vue-burger-menu.js', ssr: false }
],

在我的插件文件夹中添加一个名为"vue-burger-menu.js"的文件:

 import Vue from 'vue';
 import VueBurgerMenu from 'vue-burger-menu';

   if (process.browser) {

      Vue.use(VueBurgerMenu);

   }

nav template

 <template lang="pug">
   Slide(right)
        nav.menu_vertical
 </template>

 <script>
 import { Slide } from 'vue-burger-menu'
 export default {
 name: 'Nav',
 components: {
   Slide
 },
}

【问题讨论】:

  • 还是不行。有什么帮助吗?

标签: javascript vue.js


【解决方案1】:

将已弃用的 process.browser 替换为 process.client

if (process.client) {
   Vue.use(VueBurgerMenu);
}

【讨论】:

  • 谢谢老兄,你的回答拯救了我的一天。
【解决方案2】:

Nuxt 正在做 SSR,document 仅在 browser 中可用,因此您需要像这样包装插件代码

如下更改"vue-burger-menu.js"

import Vue from 'vue';
import VueBurgerMenu from 'vue-burger-menu';

if (process.browser) {

 Vue.use(VueBurgerMenu);

}

你可以找到详细文档Here

【讨论】:

  • 我不知道为什么,但它仍然无法正常工作:/ 我在帖子中添加了一个屏幕显示此错误。
  • 你贴的截图在哪里?
  • 它在代码的底部。出现此错误:未定义文档。
猜你喜欢
  • 2018-02-13
  • 1970-01-01
  • 2021-07-22
  • 2021-11-29
  • 2021-01-15
  • 2019-02-20
  • 2021-06-09
  • 2023-01-11
  • 1970-01-01
相关资源
最近更新 更多