我制作了两个存储库作为插件,用于放置我的 API 调用。
plugins/repos/UserRepository.js(我需要在 /views/users.vue 中)
plugins/repos/PostRepository.js(我需要在 /views/posts.vue 中)
要使用这些插件,我有两个选择:
通过在 nuxt.config.js 的 plugins 数组中列出它们来全局注册这些插件
在各自的 vue 组件中手动导入每个 repo。
在第一个选项的情况下,我的回购看起来像这样:
export default (ctx, inject) => {
const data={
getAll(){
return context.$axios
.$get("/users");
}
}
inject('userRepo', data);
}
第一种方法的主要优点是我可以访问上下文。但是如果我在我的组件中手动导入它(第二种方法),那么我需要在插件中手动传递上下文。
但是第一种方法的主要缺点是它使插件普遍可用。所以我的主要问题是:第一个在内存消耗方面是一种不好的方法,因为我不需要 users.vue 中的 PostRepository 但它仍然是由 Nuxt 自动导入的,因为我在 nuxt.config 的插件数组中提到了它.js?
请告诉我处理此问题的最佳方法是什么,因为我有数十个存储库,因此在全球范围内注册所有存储库是个好主意?