Nuxt 插件 window 或 document is not defined

nuxt中致使document is not defined官方的解釋是:一些只兼容客戶端的腳本被打包進了服務端的執行腳本中去,而且給出瞭解決方案經過使用 process.client 變量來判斷導入,即:vue

if (process.client) {npm

require('external_library')bash

}ide

若是你是使用npm引入的第三方插件的話,那這個方法就十分不實用,既然由於只兼容客戶端的腳本被打包進了服務端那麼咱們徹底能夠使用使用只在客戶端使用的插件的引入方法去引入這個插件,即:ui

  • 在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 }
  ]
}
複製代碼

至此,插件就能夠愉快的使用了!spa

相關文章
相關標籤/搜索