【发布时间】:2021-07-14 14:06:51
【问题描述】:
我创建了一个插件,我想在我的应用程序的任何页面上调用它。我怎样才能做到这一点,而不是在每个页面上创建 mounted 函数并调用该插件?
【问题讨论】:
我创建了一个插件,我想在我的应用程序的任何页面上调用它。我怎样才能做到这一点,而不是在每个页面上创建 mounted 函数并调用该插件?
【问题讨论】:
您可以使用布局 + 中间件的组合。
Layouts 官方文档:https://nuxtjs.org/docs/2.x/concepts/views#layouts
中间件官方文档:https://nuxtjs.org/docs/2.x/directory-structure/middleware/
应用范围内的全局中间件在 nuxt.config.js 文件中是可行的
export default {
router: {
middleware: ['global'],
},
}
在middleware/global.js 中使用global 文件。
根据您创建插件的方式,您也可以简单地在全局范围内注册它
// plugins/fancy-plugin.js
import Vue from 'vue'
import { myFancyPlugin } from 'fancy-plugin'
Vue.use(myFancyPlugin)
别忘了将它添加到配置中
// nuxt.config.js
export default {
plugins: [
{ src: '@/plugins/fancy-plugin' },
]
}
【讨论】:
console.log('test'),看看这个是否适合加载。
ssr: false 是旧版本,您应该使用模式:client,或 server 或此处所述的任何内容:nuxtjs.org/docs/2.x/directory-structure/plugins/#object-syntax 确保您的 Nuxt 也是最新的,这可能会有一些影响。否则,很高兴我能以某种方式提供帮助,并祝进一步调查好运! :)