当前位置: 首页 > news >正文

Vue多地址代理端口调用

第一种方法

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});
};
这是大概的方法 具体详细方法跟这类似 也差不多 

相关文章:

  • version `GLIBCXX_3.4.32‘ not found 解决方法
  • Coding Practice,48天强训(23)
  • BIOS主板(非UEFI)安装fedora42的方法
  • How to haggle over salary with HR
  • 从LLM到AI Agent的技术演进路径:架构解析与实现逻辑
  • 软考【网络工程师】2023年5月上午题答案解析
  • 截至2025年4月,AI硬件已深度融入各自场景!!
  • OCR定制识别:解锁文字识别的无限可能
  • Python3:文件操作
  • Lesar: 面向 Lustre/Scade 语言的形式化模型检测工具
  • vue前端SSE工具库|EventSource 替代方案推荐|PUSDN平行宇宙软件开发者网
  • Linux上安装Mysql、Redis、Nginx
  • Android 14 修改侧滑手势动画效果
  • C语言面试高频题——strcat、strncat、strcmp、strcpy 哪些函数会导致内存溢出?
  • Android ActivityManagerService(AMS)深度解析
  • 基于javaweb的SpringBoot+MyBatis通讯录管理系统设计与实现(源码+文档+部署讲解)
  • 【维护窗口内最值+单调队列/优先队列】Leetcode 239. 滑动窗口最大值
  • Echarts 问题:自定义的 legend 点击后消失,格式化 legend 的隐藏文本样式
  • PowerShell脚本实现|从文件夹动画序列中均匀选取关键帧(保留首尾帧)
  • redis 数据类型新手练习系列——string类型
  • 伊朗港口爆炸已造成281人受伤
  • 理想汽车副总裁刘杰:不要被竞争牵着鼻子走,也不迷信护城河
  • 快捷公寓单间不足5平方米?公寓方:预订平台图片只是参考,已退房款
  • 政治局会议:积极维护多边主义,反对单边霸凌行径
  • 《卿本著者》译后记等内容被指表述不当,江苏人民出版社:即日下架
  • 消费者买国外电话卡使用时无信号,店铺:运营商故障,较少见