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

Vite Proxy配置详解:从入门到实战应用

Vite Proxy配置详解:从入门到实战应用

一、什么是Proxy代理?

Proxy(代理)是开发中常用的解决跨域问题的方案。Vite内置了基于http-proxy的代理功能,可以轻松配置API请求转发。

二、基础配置

vite.config.js中配置proxy选项:

export default defineConfig({server: {proxy: {/api: {target: http://localhost:3000,changeOrigin: true,rewrite: path => path.replace(/^\/api/, )}}}
})
  • target: 代理目标地址
  • changeOrigin: 修改请求头中的host为目标URL
  • rewrite: 路径重写

三、进阶配置

1. 多代理配置

proxy: {/api1: {target: http://localhost:3001,// ...其他配置},/api2: {target: http://localhost:3002,// ...其他配置}
}

2. WebSocket代理

proxy: {/socket.io: {target: ws://localhost:3000,ws: true}
}

3. 自定义代理规则

proxy: {^/api/.*: {target: http://localhost:3000,bypass(req) {if (req.headers.accept.indexOf(html) !== -1) {return /index.html}}}
}

四、实战应用

1. 解决开发环境跨域

proxy: {/api: {target: https://production-server.com,changeOrigin: true,secure: false}
}

2. 模拟不同环境API

const targetMap = {dev: http://dev-server,test: http://test-server,prod: https://prod-server
}proxy: {/api: {target: targetMap[process.env.NODE_ENV],changeOrigin: true}
}

五、常见问题

  1. 代理不生效:检查路径是否匹配,特别是正则表达式
  2. HTTPS证书问题:设置secure: false跳过证书验证
  3. WebSocket无法连接:确保设置了ws: true

六、总结

Vite的Proxy配置简单强大,能有效解决开发中的跨域问题。通过灵活配置可以满足各种复杂场景需求。

提示:生产环境应使用Nginx等服务器处理代理,Vite代理仅用于开发环境。

http://www.xdnf.cn/news/5102.html

相关文章:

  • 互联网大厂Java求职面试:AI集成场景下的技术挑战与架构设计
  • C++ 关联式容器:map,multimap,set,multiset
  • https,http1,http2,http3的一些知识
  • Spring Cloud: Nacos
  • 扫雷革命:矩阵拓扑与安全扩散的数学之美
  • SpringCloud之Gateway基础认识-服务网关
  • 【C语言练习】032. 编写带参数的函数
  • 【小记】excel vlookup一对多匹配
  • Android 13 使能user版本进recovery
  • 激活函数(sigmoid、Tanh、ReLu、softmax、softmin、LogSoftma)公式,作用,使用场景和python代码(包含示例)详解
  • 游戏引擎学习第268天:合并调试链表与分组
  • STM32中断
  • 数据集-目标检测系列- 烟雾 检测数据集 smoke >> DataBall
  • 逐步理解Qt信号与槽机制
  • 【部署满血Deepseek-R1/V3】大型语言模型部署实战:多机多卡DeepSeek-R1配置指南
  • Web3 实战项目项目部署到 GitHub 和上线预览的完整指南
  • django的权限角色管理(RBAC)
  • PyTorch API 4 - 分布式通信、分布式张量
  • 【递归、搜索和回溯】二叉树中的深搜
  • Docker中运行的Chrome崩溃问题解决
  • leetcode-hot-100(哈希)
  • 产品需求分析:需求收集方法(锻造产品内核)
  • 【OpenCV】imread函数的简单分析
  • PyTorch API 8 - 工具集、onnx、option、复数、DDP、量化、分布式 RPC、NeMo
  • 【金仓数据库征文】政府项目数据库迁移:从MySQL 5.7到KingbaseES的蜕变之路
  • STM32-ADC模数转换器(7)
  • 华为云Git使用与GitCode操作指南
  • 湖仓一体架构在金融典型数据分析场景中的实践
  • 多线程 2 - 死锁问题
  • 中国古代史2