Vue.js 在Nuxt.js的每个页面上调用插件的最佳实践

Vue.js 在Nuxt.js的每个页面上调用插件的最佳实践,vue.js,plugins,nuxt.js,Vue.js,Plugins,Nuxt.js,我创建了一个插件,我想在我的应用程序的任何页面上调用它。我如何做到这一点,而不必在每个页面上创建一个挂载的函数并调用该插件?您可以使用布局+中间件的组合 官方文件: Middleware官方文件: 应用程序范围的全局中间件可以在numxt.config.js文件中找到 导出默认值{ 路由器:{ 中间件:[“全局”], }, } 使用middleware/global.js中的global文件 根据您创建插件的方式,您也可以在全球范围内注册它 //plugins/fancy-plugin.j

我创建了一个插件,我想在我的应用程序的任何页面上调用它。我如何做到这一点,而不必在每个页面上创建一个
挂载的
函数并调用该插件?

您可以使用布局+中间件的组合

官方文件:

Middleware官方文件:


应用程序范围的全局中间件可以在
numxt.config.js
文件中找到

导出默认值{
路由器:{
中间件:[“全局”],
},
}
使用
middleware/global.js
中的
global
文件


根据您创建插件的方式,您也可以在全球范围内注册它

//plugins/fancy-plugin.js
从“Vue”导入Vue
从“fancy插件”导入{myFancyPlugin}
Vue.use(myFancyPlugin)
别忘了将其添加到配置中

//nuxt.config.js
导出默认值{
插件:[
{src:'@/plugins/fancy plugin'},
]
}

谢谢!但我不能得到任何进一步的插件注册。我不太理解这个概念,已经看过文档了。中间件已经可以工作了,但不能完全刷新页面。然后它被称为未定义,无论何时我调用它。但是如果我在加载应用程序后切换页面,插件就会被注册。这是我自己编写的插件,使用注入方法,我想这更像是一个插件问题,而不是一个安装问题。您是否遵循了有关创建的特定教程,并且确定手动导入时效果良好?它支持一些特定的钩子吗?这个插件不是我写的,而是一个同事写的。我本人对vuejs和nuxt是相当陌生的。插件被构建为一个类,其中包含方法。在它们的底部,它将其注入插件。所以我可以这样调用它。$ChatApi.switchPage()。但正如我在“硬”重新加载时所说的,它是未定义的。我可以和你分享整个插件文件吗?如果它在你的应用程序中导航时起作用,但在硬刷新后不起作用,那么它几乎就是你安装插件的方式。最好的、最快的、更安全的答案是询问插件的创建者。这样,您将按预期使用它。还有,到目前为止你试过什么?它没有在全局中间件上注册?Nuxt生命周期中的一些代码可能会有所帮助。可能首先尝试在调用插件的同一个位置调用控制台.log('test')
,看看这个插件是否适合加载。
ssr:false
是旧的变体,您应该使用模式:
client
,或者
server
,或者这里没有说明:确保您的Nuxt也是最新的,这可能会产生一些影响。否则,很高兴我能提供帮助,祝你好运,以便进一步调查!)