Vue.js Vue应用程序正在删除Axios baseURL
我在一个新的Vue应用程序中实现JWT身份验证时遇到了麻烦。我正在使用webpack CLI模板FWIW 在my main.js中,在声明我的Vue应用程序后,我有以下代码:Vue.js Vue应用程序正在删除Axios baseURL,vue.js,axios,vue-router,vuex,Vue.js,Axios,Vue Router,Vuex,我在一个新的Vue应用程序中实现JWT身份验证时遇到了麻烦。我正在使用webpack CLI模板FWIW 在my main.js中,在声明我的Vue应用程序后,我有以下代码: window.axios = axios window.axios.defaults.baseURL = 'https://example.com' if (localStorage.getItem('token') !== null) { window.axios.defaults.headers.common['a
window.axios = axios
window.axios.defaults.baseURL = 'https://example.com'
if (localStorage.getItem('token') !== null) {
window.axios.defaults.headers.common['authorization'] = 'Token ' +
localStorage.token
}
Vue.router = router
这在我登录时可以正常工作,但是在我重新定向登录后(/sign-up),然后导航到新页面(/sign-up/inventory)后,我尝试以下axios调用并获得404,因为无法再找到baseURL
axios.get('myapi/myreport/mydata/').then(function (response) {
console.log(response)
})
.catch(e => {
console.log(e)
})
}
如果我在axios调用之前记录window.axios.defaults.baseURL,我会得到一个错误(“无法读取未定义的属性'defaults')),那么axios可能甚至没有加载?为了解决这个问题,我应该检查什么?我将axios代码移到main.js上我的应用程序实例化上方,这似乎已经解决了它。为了清晰起见,我在调用inventory.vue组件之前导入了axios。