Registering Nuxt Plugins: Globally vs Manual Import(注册Nuxt插件:全局与手动导入)
问题描述
我创建了两个存储库作为我放置API调用的插件。
plugins/repos/UserRepository.js(我需要位于/Views/users.vue中)
plugins/repos/PostRepository.js(我需要位于/Views/posts.vue中)
要使用这些插件,我有两个选择:
通过在nuxt.config.js的plugins数组中列出这些插件来全局注册它们
在各自的VUE组件中手动导入每个回购。
在第一个选项的情况下,我的回购如下所示:
export default (ctx, inject) => {
const data={
getAll(){
return context.$axios
.$get("/users");
}
}
inject('userRepo', data);
}
第一种方法的主要优点是我可以访问上下文。但是如果我在我的组件中手动导入它(第二种方法),那么我需要在插件中手动传递上下文。
但第一种方法的主要缺点是它使插件普遍可用。所以我的主要问题是:就内存消耗而言,第一种方法是不是一个糟糕的方法,因为我在users.vue中不需要PostRepository,但它仍然由Nuxt自动导入,因为我在nuxt.config.js的plugins数组中提到了它?
请告诉我处理此问题的最佳方法是什么,因为我有几十个存储库,所以全局注册所有存储库是个好主意?
推荐答案
您几乎回答了您的问题。就内存而言,就SPA的加载时间而言,即使只有5%的时间使用,进行本地导入也总比全局导入大量要好。
然后,您始终可以像往常一样访问上下文本身,而不需要插件(又名this.$axios)。这里的阻塞用例是什么?
如果您正在使用Nuxt3,您也可以使用Composables。
这篇关于注册Nuxt插件:全局与手动导入的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:注册Nuxt插件:全局与手动导入
- 如何显示带有换行符的文本标签? 2022-01-01
- 为什么悬停在委托事件处理程序中不起作用? 2022-01-01
- 使用 iframe URL 的 jQuery UI 对话框 2022-01-01
- 是否可以将标志传递给 Gulp 以使其以不同的方式 2022-01-01
- 为什么我的页面无法在 Github 上加载? 2022-01-01
- 在不使用循环的情况下查找数字数组中的一项 2022-01-01
- 从原点悬停时触发 translateY() 2022-01-01
- 如何调试 CSS/Javascript 悬停问题 2022-01-01
- 我不能使用 json 使用 react 向我的 web api 发出 Post 请求 2022-01-01
- 如何向 ipc 渲染器发送添加回调 2022-01-01
