【问题标题】:Nuxt plugin throwing inject is not a functionNuxt 插件抛出注入不是一个函数
【发布时间】:2021-03-23 21:13:23
【问题描述】:

我决定第一次从头开始玩一点 nuxt。 现在,我正在尝试添加插件。 我要添加的插件是用于我的 api 的。但是当我注入它时,它会抛出错误“注入不是函数”。这是我下面的代码。据我所知,其他一切都有效。

import Vue from 'vue'
import axios from 'axios'
import get from 'lodash/get'
import cookies from 'js-cookie'
import { BASE_URL } from '../config/config'
export default (context, inject) => {
  const saveToken = (token) => {
    cookies.set('AuthToken', token)
  }
  const removeToken = () => {
    cookies.remove('AuthToken')
  }
  const getToken = () => {
    cookies.get('AuthToken')
  }
  const token = getToken() || ''
  const config = {
    baseURL: `${BASE_URL}/api/v1`,
    params: {},
    headers: {
      Authorization: `Bearer ${token}`
    }
  }
  const service = axios.create(config)
  service.interceptors.response.use(
    response => response,
    (error) => {
      // src of error.
      const data = get(error, 'response.data', {})
      Vue.$store.commit('notifications/setNotification', data)
    }
  )
  const ApiService = {
    ...service,
    removeToken,
    saveToken
  }
  inject('ApiService', ApiService)
}

【问题讨论】:

    标签: javascript vue.js nuxt.js inject


    【解决方案1】:

    好的,所以,我能够修复它。 显然,错误是因为我在模块数组中添加了插件,而不是按照Nuxt docs 中的建议添加了插件数组。 将其放入插件中而不是像以前那样将其作为模块放入后,我的开发服务器又开始工作了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-10
      • 1970-01-01
      • 2022-01-04
      • 2019-06-14
      • 2021-06-08
      相关资源
      最近更新 更多