nuxt中导致document is not defined官方的解释是:一些只兼容客户端的脚本被打包进了服务端的执行脚本中去
,并且给出了解决方案通过使用 process.client 变量来判断导入,即:
if (process.client) {
require('external_library')
}
如果你是使用npm引入的第三方插件的话,那这个方法就十分不实用,既然因为只兼容客户端的脚本被打包进了服务端
那么我们完全可以使用使用只在客户端使用的插件的引入方法去引入这个插件,即:
- 在plugins中引入需要的组件,并注册
import Vue from 'vue'
import MyPlugins from 'my-plugins'
Vue.component('MyPlugins', MyPlugins)
复制代码
- 然后在
nuxt.config.js
中添加
module.exports = {
plugins: [
{ src: '~/plugins/my-plugins', ssr: false }
]
}
复制代码
至此,插件就可以愉快的使用了!