第一種方法
config.ts文件
配置多條代理服務端口 如下所示:
proxy: {'/app': {// 其他的端口target: 'http://125.124.5.117:12877/',changeOrigin: true}'/api': {//默認的端口// http://192.168.31.53:5173/target: 'http://192.168.31.199:18777/',changeOrigin: true,rewrite: path => path.replace(/^\/api/, '')},
封裝的axios請求
src/utils/request.ts
import axios from 'axios';const defaultConfig = {timeout: 5 * 1000,baseURL:'/api' // 注意!! 這里是全局統一加上了 '/api' 前綴,也就是說所有接口都會加上'/api'前綴在,//頁面里面寫接口的時候就不要加 '/api'了,否則會出現2個'/api',類似 '/api/api/user'這樣的報錯,切記!!
};
const instance = axios.create(Object.assign({}, defaultConfig));instance.interceptors.request.use(function (config) {...return config;},function (error) {return Promise.reject(error);}
);
instance.interceptors.response.use(function (response) {...},function (error) {...return Promise.reject(error);}
);
export default instance;
請求時——
import request from '@/src/utils/request.js'// 獲取IP列表 (這個會默認用前綴 '/api')
export const getList = data => {return request({url: '/ipv6/list',method: 'post',data});
};// 獲取IP列表 (手動加另一個前綴 '/app')
export const getList = data => {return request({url: '/ipNetin/list',baseURL: '/app', // 這個 baseURL 會覆蓋實例中默認的 baseURL(這里是動態的直接回覆蓋默認的前綴)method: 'post',data});
};
第二種
config.ts文件
配置多條代理服務端口 如下所示:
PS:(/^\/api/app, '/app')主要是這個 app是api的子級 然后指向 /app
proxy: {'/api/app': {// 其他的端口target: 'http://125.124.5.117:12877/',changeOrigin: true,rewrite: path => path.replace(/^\/api/app, '/app')//注意注意這里的區別// PS:(/^\/api/app, '/app')主要是這個 app是api的子級 然后指向 /app}'/api': {//默認的端口// http://192.168.31.53:5173/target: 'http://192.168.31.199:18777/',changeOrigin: true,rewrite: path => path.replace(/^\/api/, '')},
封裝的axios請求
src/utils/request.ts
import axios from 'axios';const defaultConfig = {timeout: 5 * 1000,baseURL:'/api' // 注意!! 這里是全局統一加上了 '/api' 前綴,也就是說所有接口都會加上'/api'前綴在,//頁面里面寫接口的時候就不要加 '/api'了,否則會出現2個'/api',類似 '/api/api/user'這樣的報錯,切記!!
};
const instance = axios.create(Object.assign({}, defaultConfig));instance.interceptors.request.use(function (config) {...return config;},function (error) {return Promise.reject(error);}
);
instance.interceptors.response.use(function (response) {...},function (error) {...return Promise.reject(error);}
);
export default instance;
請求時——
import request from '@/src/utils/request.js'// 獲取IP列表 (這個會默認用前綴 '/api')
export const getList = data => {return request({url: '/ipv6/list',method: 'post',data});
};// 獲取IP列表 (手動加另一個前綴 '/app')
export const getList = data => {return request({url: '/ipNetin/list',//這里就不要多加/app了 不要寫配置代理的前綴了 注意注意method: 'post',data});
};
這是大概的方法 具體詳細方法跟這類似 也差不多