首页 > 解决方案 > NuxtJS 将上下文、存储、注入和 axios 传递给插件

问题描述

正如我的问题所暗示的,我想将 $axios、上下文、存储和注入功能传递给我编写的与axiosand集成的插件auth0

我收到这个错误...

Cannot read property 'authUrl' of undefined

使用此代码...

export default ({ $axios }, context, store, inject) => {
const auth = $axios.create({
  baseURL: context.env.authUrl,
  headers: {
    Accept: store.$auth.$storage._state[`_token.auth0`],
    Authorization: `application/vnd.api+json`,
  }
});
}

我想这是将参数传递给函数的方式吗?任何帮助将不胜感激,谢谢!

标签: javascriptaxiosnuxtjs

解决方案


通常,当你创建一个插件时,你把它写成表格

export default ({ store, $axios }, inject) => {
  // access store or $axios directly
})

或者

export default (context, inject) => {
  // here you have context.store or context.$axios
})

请参阅此处以获取参考https://nuxtjs.org/docs/2.x/directory-structure/plugins

请注意,您设置插件的顺序nuxt.config.js可能会影响上下文中注入插件的可用性:如果在您的自定义插件之后插入 axios 插件,您将无法在其中使用 axios 本身。

但是,用于 nuxt 的 Axios 模块有一些有趣的助手可能有用(请参阅https://axios.nuxtjs.org/helpers


推荐阅读