1.下载axios
npm i axios
2.新建utils工具目录
3.创建config.js、、request.js、api.js
一、config.js用于配置不同环境下的baseURL(开发环境或者打包环境)
export default {
baseUrl: {
dev: '',
pro: ''
}
}
二、request.js用于封装axios方法(配置拦截器、配置公共配置)
import axios from "axios"
import config from './config.js'
const baseUrl = process.env.NODE_ENV === 'development' ? config.baseUrl.dev : config.baseUrl.pro
class axiosRequest {
constructor(baseUrl) {
this.baseUrl = baseUrl
}
getConfig() {
const config = {
baseURL: this.baseUrl,
header: {}
}
return config
}
interceptor(instance) {
instance.interceptors.request.use(function(config) {
return config;
}, function(error) {
return Promise.reject(error);
});
instance.interceptors.response.use(function(response) {
return response;
}, function(error) {
return Promise.reject(error);
});
}
request(options) {
const instance = axios.create()
options = {...this.getConfig(),...options}
this.interceptor(instance)
return instance(options)
}
}
export default new axiosRequest(baseUrl)
三、api.js用于存放各个不同的接口请求方法
import http from './request.js'
export const getData = () => {
return http.request({
url: '/home/getData'
})
}
|