1.为什么要封装axios?封装axios
如果每发起⼀次
HTTP
请求,就要把这些⽐如设置超时时间、设置请求头、根据
项⽬环境判断使⽤哪个请求地址、错误处理等等操作,都需要写⼀遍
这种重复劳动不仅浪费时间,⽽且让代码变得冗余不堪,难以维护。为了提⾼我们的代码质量,我们应该在项⽬中⼆次封装⼀下 axios
再使⽤
axios是单立模式因为每一次请求都需要用到这个axios
首先安装axios-S到生产环境里,
为什么要安装到生产环境里,
因为安装到生产环境里开发环境也可以使用 但是生产环境里面开发环境不可以使用,最后在min.js中导入
举个简单个栗子:
axios("http://localhost:3000/data", {
// 配置代码
method: "GET",
timeout: 1000,
withCredentials: true,
headers: {
"Content-Type": "application/json",
Authorization: "xxx",
},
transformRequest: [
function(data, headers) {
return data;
},
], // 其他请求配置...
}).then(
(data) => {
// todo: 真正业务逻辑代码
console.log(data);
},
(err) => {
// 错误处理代码
if (err.response.status === 401) {
// handle authorization error
}
if (err.response.status === 403) {
// handle server forbidden error
} // 其他错误处理.....
console.log(err);
}
);
如果每个⻚⾯都发送类似的请求,都要写⼀堆的配置与错误处理,就显得过于繁琐了
这时候我们就需要对
axios
进⾏⼆次封装,让使⽤更为便利
⼀、如何封装