VUE3+VITE简单的跨域代理配置

出于安全考虑,未设置前端白名单,前端开发时,需要配置代理。
在本地创建一个虚拟服务器,发送请求数据,同时接受请求的数据,
利用服务器与服务器间,交互,不会有跨域问题,也是完全只靠前端自己独立解决跨域的方式

应用 代理前 代理后
前端 http://localhost:5173/cms 置空
后端 http://localhost:7001/api https://gov.cn:8080/gov-api/

在.env.development文件中补充配置

javascript 复制代码
VITE_API_BASE_URL=http://localhost:7001/api // 原配置
VITE_API_BASE_URL= # 置空被代理的基地址以匹配代理
VITE_PROXY_BASE_URL=https://gov.cn:8080/gov-api/
VITE_PROXY_PATH=/api

在vite.config.js文件

javascript 复制代码
import { defineConfig, loadEnv } from 'vite'

export default defineConfig(({ mode }) => {
  const env = loadEnv(mode, process.cwd(), '')
  const {
    VITE_PROXY_BASE_URL,
    VITE_PROXY_PATH
  } = env

  return {
    server: {
      proxy: {
        [VITE_PROXY_PATH]: {
          target: `${VITE_PROXY_BASE_URL}${VITE_PROXY_PATH}`,
          rewrite: path => path.replace(new RegExp(`^${VITE_PROXY_PATH}`), ''),
          changeOrigin: true
        }
      }
    }
  }
})

axios工具

javascript 复制代码
import axios from 'axios'
const { VITE_API_BASE_URL: baseURL } = import.meta.env
const api = axios.create({ baseURL })
export default api
相关推荐
深色風信子6 分钟前
Vue 富文本编辑器
前端·javascript·vue.js·wangeditor·vue 富文本·wangeditor-text·前端富文本
程序定小飞25 分钟前
基于SpringBoot+Vue的常规应急物资管理系统的设计与实现
java·开发语言·vue.js·spring boot·后端·spring
我叫张小白。2 小时前
Vue3 Hooks:逻辑复用的解决方案
前端·javascript·vue.js·前端框架·vue
我叫张小白。2 小时前
Vue3 Props 的使用:组件间数据传递的桥梁
前端·javascript·vue.js·vue3
何以解忧,唯有..2 小时前
Vue 列表渲染
前端·javascript·vue.js
前端程序猿i2 小时前
彻底搞懂防抖(Debounce)与节流(Throttle):源码实现与应用场景
开发语言·前端·javascript·vue.js·ecmascript
前端fighter2 小时前
全栈项目:校友论坛系统
vue.js·mongodb·node.js
木易 士心3 小时前
Element UI 多级菜单缩进的动态控制:从原理到工程化实践
前端·vue.js·ui
正在走向自律3 小时前
企业微信消息推送全链路实战:Java后端与Vue前端集成指南
前端·vue.js·企业微信·企业微信消息推送·官方企业微信
lcc1873 小时前
Vue3 CompositionAPI的优势
前端·vue.js