NuxtJS:仅外部客户端 plugin/component 导致页面刷新错误

NuxtJS: external client-side only plugin/component causes error on page refresh

我使用 npm install 来包含一个名为 vue-gallery 的仅客户端插件,并按照 Nuxtjs 文档中所述的说明将其加载为仅客户端插件。该插件工作正常,但有一个例外:如果我在任何导入该插件的路由上按 f5,Nuxt 会抛出一个 'Invalid or unexpected token' 错误。这是当您将插件定义为客户端和服务器端时总是抛出的错误。如果您直接在浏览器中键入 URL,也会发生同样的情况。但是,当您使用应用程序链接导航到该页面时,它不会发生。

注意这只是一个外部组件类型的插件,不是ES6插件。

vue-gallery.js

import Vue from 'vue'
import VueGallery from 'vue-gallery'      
Vue.component('vue-gallery', VueGallery)

nuxt.config.js

  plugins: [
    '~/plugins/axios',
    { src: '~/plugins/vue-gallery.js', mode: 'client' }
  ],

在我的页面组件中,只需执行 import VueGallery from 'vue-gallery'

要解决这个问题吗?

In my pages component simply doing import VueGallery from 'vue-gallery'

就是这个原因。如果你在你的页面中导入它,它将被导入到 SSR 上,所以如果它不兼容 SSR,它就会出错。由于您将其作为组件全局添加到您的插件中,因此您不需要将其导入您的页面