Vite构建的项目通过代理解决跨域问题

1. 编写vite.config.js配置文件
在项目的根目录下找到vite.config.js配置文件,编写代理规则

import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react'

// https://vitejs.dev/config/
export default defineConfig({
  plugins: [react()],
  server:{
    proxy:{
      //此处编写代理规则
      "/api":{
        target:"http://localhost:8080",
        changeOrigin:true,
        rewrite:path=>{
          return path.replace(/\/api/,'');
        }
      }
    }
  }
})

只要浏览器发出的请求URL的路径中含有/api,该代理就会生效。
2. target和changeOrigin
target要和changeOrigin结合使用,只有changeOrigin的值为true时,target才会生效。
以上述代理规则为例,如果浏览器发出的请求URL为/api/user/login,经过代理后,浏览器真正发出的请求URL就是http://localhost:8080/user/login
3. rewrite
在配置代理规则时,不仅可以改变请求URL的源,还可以修改请求URL的路径。
在上述例子中,浏览器发出的请求URL为/api/user/login,经过代理后,路径中的/api被替换成了空字符串。最后,浏览器真正发出的请求URL就是http://localhost:8080/user/login

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值