axios可以修改默认baseUrl吗?或者有什么别的方案

发布于 2022-09-12 13:04:04 字数 153 浏览 13 评论 0

需求就是当默认的host访问失败之后,需要换一个host,
我重新设置了axios.defaults.baseURL = 'http://baidu.com',
但是没生效,还是用的默认的

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

独﹏钓一江月 2022-09-19 13:04:04
axios.interceptors.request.use((config) => {
    config.baseURL = newUrl
})
み零 2022-09-19 13:04:04

像这种配置一般都放在环境变量里面,因为大部分时间,开发和生产的基础url都不一样。

我贴一段代码里面,如何配置axios的示例代码。
以下为封装的axios代码requests.js文件

import axios from 'axios'
import { MessageBox, Message } from 'element-ui'
import store from '@/store'
import { getToken } from '@/utils/auth'

// create an axios instance
const service = axios.create({
  baseURL: process.env.VUE_APP_BASE_API, // url = base url + request url
  // withCredentials: true, // send cookies when cross-domain requests
  timeout: 5000 // request timeout
})

// request interceptor
service.interceptors.request.use(
  config => {
    // do something before request is sent

    if (store.getters.token) {
      // let each request carry token
      // ['X-Token'] is a custom headers key
      // please modify it according to the actual situation
      config.headers['token'] = getToken()
    }
    return config
  },
  error => {
    // do something with request error
    console.log(error) // for debug
    return Promise.reject(error)
  }
)

环境变量里面存放基础请求路径vue.config.js同级目录下创建.env.development文件
可以参考 vue-cli 环境变量配置官方文档 https://cli.vuejs.org/zh/guid...

# just a flag
ENV = 'development'

# base api
VUE_APP_BASE_API = 'http://xxxx/xxx'
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文