基本示例
vite.config.ts中添加proxy配置
1 | export default defineConfig({ |
项目中的接口请求就不要再添加请求的域名了。
这里都以/mapi
开始,配置代理后所有以/mapi
的请求都会使用Node的代理进行处理。
如上:
假如我们项目的访问地址是http://localhost:8080
,接口的地址是https://api.psvmc.cn
那么http://localhost:8080/mapi/user/login
的请求就会经过代理,代理实际访问的地址是https://api.psvmc.cn/user/login
。
如果不配置rewrite
1 | export default defineConfig({ |
那么http://localhost:8080/mapi/user/login
的请求就会经过代理,代理实际访问的地址是https://api.psvmc.cn/mapi/user/login
。
验证代理生效
1 | export default defineConfig({ |
添加configure
配置我们可以在控制台查看代理后实际访问的地址。
在浏览器的F12查看代理前的访问的地址。
常见示例
字符串
1 | // 字符串简写写法 |
注意
字符串简写写法,changeOrigin 默认是 true。
选项写法
1 | // 选项写法 |
正则写法
1 | // 正则表达式写法 |
WebSocket 代理
1 | // WebSocket 代理 |
以/socket.io
开头的请求会被代理到ws://localhost:3000
。
整体示例
1 | import { defineConfig } from 'vite' |
Nginx配置
假设Vue 3 项目打包后的静态文件存放在 /var/www/vue3-project
目录下,
后端接口服务器运行在 http://backend-server:8080
。
打包后接口是无法访问的,因为没有Node进行代理了,我们可以使用Nginx进行代理。
Nginx配置如下
1 | server { |