概述
不管使用什么脚手架,配置代理都是绕不开的话题,server.proxy为开发服务器配置自定义代理规则。期望接收一个{ key: options }
对象。如果 key 值以^
开头,将会被解释为RegExp
。configure
可用于访问 proxy 实例。官网地址
更多详细配置http-proxy
相关配置
在 vue3 项目中,找到vite.config.ts 文件,在其中进行 vite 的相关配置.下面展示 选项写法(可解决跨域问题)
server: {port: 8080,proxy: {"/api": {target: "http://localhost:7001", // 所要代理的目标地址changeOrigin: true,//允许跨域ws: true,// 开启 websockets 代理secure: false, // 验证 SSL 证书rewrite: (path) => path.replace(/^\/api/, ""),// 重写传过来的path路径},},},
简要说明
前端跨域问题其实是一个安全问题,就是为了防止不同域名的服务之间进行互相访问,以避免恶意程序对后端资源进行非法获取。在开发的时候,我们就可以利用代理来把请求进行代理,把域名等改成一样的,这样就避免了跨越的问题。
上面配置的 后端地址为 http://localhost:7001 ,代理以 /api 开头的所有API 请求,并把它转发到http://localhost:7001
例如:前端请求地址一般为简写 /api/user,前端实际请求地址为http://localhost:7001/api/user
实际转发到后端的地址是省略了 /api 的,为http://localhost:7001/user
同时,也可以代理多个地址,例如
server: { proxy: {"/api": {target: "http://localhost:7001",changeOrigin: true,}, "foo": {target: "http://localhost:7002",changeOrigin: true,}},},
注意
配置vite.config.ts 后,记得重启项目,否则不会生效
文章如有错误,恳请大家提出问题,本人不胜感激 。 不懂的地方可以评论,我都会 一 一 回复
文章对大家有帮助的话,希望大家能动手点赞鼓励,大家未来一起努力 长路漫漫,道阻且长