Axios在实例化之后修改baseURL或其他配置
一. 修改全局默认配置:
在使用axios请求的时候一般会进行封装,如:
import axios from "axios";
const request = axios.create({
// baseURL: import.meta.env.VITE_APP_BASEURL,
baseURL: "https://www.xxx.com",
timeout: 10 * 1000,
});
...
export default request;
在有些情况下需要动态修改baseURL或其他配置,此时可通过以下方法修改默认配置:
import request from "/xxx/xxx";
request.defaults.baseURL = "http://xxxxxx";
二. 修改单个接口配置:
当不想修改全局设置,只要修改某个接口的配置项时,按以下方法修改:
- 直接请求
import request from "/xxx/xxx";
const config = {
baseUrl: "http://xxxxxx",
timeout: 5 * 1000,
};
export function getData(params) {
return request({
method: "get",
url: "/api/get/xxx",
params,
...config,
});
}
export function postData(params) {
return request({
method: "post",
url: "/api/post/xxx",
data: params,
...config,
});
}
- 请求方式别名
import request from "/xxx/xxx";
const config = {
baseUrl: "http://xxxxxx",
timeout: 5 * 1000,
};
// axios.get(url[, config])
export function getData(params) {
return request.get("/api/get/xxx", { params, ...config });
}
// axios.post(url[, data[, config]])
export function postData(params) {
return request.post("/api/post/xxx", params, config);
}