- index.js 封装axios
import axios from 'axios';
import { baseUrl } from '@/config.js';
let http = axios.create({
baseURL: baseUrl,
timeout: 10000
});
.......
.......
export default http;
前面没写全 后面还有一些请求拦截和响应拦截,可以自行npm上搜axios粘贴过来
- config.js 配置不同环境下的baseurl
let baseUrl = ''; // 请求接口
let env = process.env.NODE_ENV;
switch (env) {
case 'production':
baseUrl = '';
break;
default:
baseUrl = '';
break;
}
export { baseUrl };
- service.js
/**
* 请求方法封装
*/
import service from './index';
import api from '@/api';
service.get = (moduleName = '', requestUrl = '', data = {}) => {
return service({ method: 'get', url: api[moduleName][requestUrl], params: data })
};
service.post = (moduleName = '', requestUrl = '', data = {}, headers = {}) => {
return service({ method: 'post', url: api[moduleName][requestUrl], data, headers })
};
export default service;
- main.js
import service from '@/service/service';
Vue.prototype.$http = service;