[英]nuxt.js document is not defined, problem with pugin
我在我的nuxt.js
项目中添加了插件: vue-burger-menu
。 我有一个错误: "document is not defined"
。 我知道,这个插件仅适用于客户端。 所以我在 vue 文档中发现在这里输入链接描述我必须做些什么来修复它。 它仅适用于第一次刷新。 然后我又一次没有定义文件。
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
},
}
用process.client替换已弃用的process.browser
if (process.client) {
Vue.use(VueBurgerMenu);
}
Nuxt 正在执行 SSR 并且document
仅在browser
可用,因此您需要像这样包装插件代码
更改"vue-burger-menu.js"
如下
import Vue from 'vue';
import VueBurgerMenu from 'vue-burger-menu';
if (process.browser) {
Vue.use(VueBurgerMenu);
}
您可以在此处找到详细文档
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.