【发布时间】: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