Vue 应用程序正在删除 Axios baseURL

Vue application is dropping Axios baseURL

我在新的 Vue 应用程序中实施 JWT 身份验证时遇到了麻烦,运行 遇到了问题。我正在使用 webpack CLI 模板 FWIW。

在我的 main.js 中,声明我的 Vue 应用程序后有以下代码:

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

这在我登录时工作正常,但是在我被重定向 post-login (/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,我会得到一个错误 ("Cannot read property 'defaults' of undefined"),所以大概 axios 甚至没有加载?我应该检查什么才能解决这个问题?

我在 main.js 上将 axios 代码移到了我的应用程序实例化之上,这似乎已经修复了它。