Axios Config Defaults
Config Defaults
您可以指定将应用于每个请求的配置默认值。
全局Axios默认值(GLOBAL)
axios.defaults.baseURL = 'https://api.example.com';
// 重要的: 如果axios与多个域一起使用,AUTH_TOKEN将被发送到所有域。
// 参见下面使用自定义实例默认值的示例。
axios.defaults.headers.common['Authorization'] = AUTH_TOKEN;
axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';
实例Axios默认值(DEFAULTS)
// 在创建实例时设置配置默认值
const instance = axios.create({
baseURL: 'https://api.example.com'
});
// Alter defaults after instance has been created
instance.defaults.headers.common['Authorization'] = AUTH_TOKEN;
配置优先顺序(CONFIG)
const instance = axios.create(); // 使用的是全局默认配置(global)
instance.defaults.timeout = 2500; // 修改默认配置 defaults
instance.get('/longRequest', { // 使用前配置 config
timeout: 5000
});
配置将按优先顺序合并。顺序是实例的lib/defaults.js,中的库默认值,然后是实例的defaults属性,最后是请求的config参数。后者将优先于前者。这里有一个例子。顺序一般都是以:粒度来决定的,如:对详细的设置会覆盖掉全局上的设置。(详细配置 > defaults > 全局)
/*
global defaults config
- 粒度: global > defaults > config
- 优先级:global < defaults < config
一般情况下,配置粒度越细的优先级越高。
*/
const ball = document.querySelectorAll("button")
axios.defaults.baseURL = "https://www.google.com"; // global
const case1 = ball[0].onclick = () => {
const instance = axios.create({
baseURL: "https://github.com/axios", // dafaults
})
instance.get("/case", { baseURL: "https://www.example.com" }).then(
(response) => console.log(response)
).catch((error) => console.log(error)) // config
}
//result baseURL: "https://www.example.com"

浙公网安备 33010602011771号