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

Vue 3 + Vite 项目中配置代理解决开发环境中跨域请求问题

在 Vue 3 + Vite 项目中,配置代理是解决开发环境中跨域请求问题的常见方法。通过在 Vite 的配置文件中设置代理,可以将前端请求转发到后端服务器,从而避免浏览器的同源策略限制。

1. 创建 Vue 3 + Vite 项目

首先,确保你已经安装了 Node.js。然后,使用以下命令创建一个新的 Vue 3 + Vite 项目:

npm create vite@latest my-vue-app --template vue

进入项目目录并安装依赖:

cd my-vue-app
npm install

启动开发服务器:

npm run dev

此时,开发服务器默认运行在 http://localhost:5173/

2. 配置代理

在 Vite 项目中,代理配置位于 vite.config.js 文件中。假设你的后端服务器运行在 http://127.0.0.1:3000,并且前端请求的路径以 /api 开头,你希望将这些请求代理到后端服务器。

编辑 vite.config.js,添加代理配置:

import { defineConfig } from 'vite';

export default defineConfig({
  server: {
    proxy: {
      '/api': {
        target: 'http://127.0.0.1:3000',
        changeOrigin: true,
        rewrite: (path) => path.replace(/^\/api/, ''),
      },
    },
  },
});

配置说明:

  • target: 代理的目标地址,即后端服务器的地址。
  • changeOrigin: 是否修改请求头中的 Origin 字段,通常设置为 true
  • rewrite: 重写请求路径,将以 /api 开头的请求路径去掉 /api 部分,转发到后端服务器。

3. 使用代理

在前端代码中,发起请求时使用相对路径 /api,例如:

import axios from 'axios';

axios.get('/api/user/info')
  .then(response => {
    console.log(response.data);
  })
  .catch(error => {
    console.error(error);
  });

由于代理配置的存在,实际请求会被转发到 http://127.0.0.1:3000/user/info。这种方式可以有效避免跨域问题。

4. 注意事项

  • 代理配置仅在开发环境有效,生产环境需要通过其他方式处理跨域问题。
  • 确保后端服务器已启动,并且监听在配置的目标地址上。
  • 在使用代理时,前端请求的路径应与代理配置中的路径匹配。

通过上述配置,你可以在 Vue 3 + Vite 项目中成功设置代理,解决开发环境中的跨域请求问题。

相关文章:

  • Linux系统管理与编程01:准备工作
  • vim 多个关键字高亮插件介绍
  • A. Jagged Swaps
  • mybatis从接口直接跳到xml的插件
  • 不同activity的mViewModel是复用同一个的还是每个activity都是创建新的ViewModel
  • DeepSeek各模型现有版本对比分析
  • Python selenium 库
  • 轻松将 Python 应用移植到 Android,p4a 帮你实现
  • 485. 最大连续 1 的个数
  • 深入了解ThreadLocal底层原理-高并发架构
  • LLM2CLIP论文学习笔记:强大的语言模型解锁更丰富的视觉表征
  • Hot100 动态规划
  • 【Java 面试 八股文】JVM 虚拟机篇
  • 三数之和:经典问题的多种优化策略
  • dlib 安装 comfy 节点确实处理
  • CentOS系统安装NFS
  • 计算机视觉:经典数据格式(VOC、YOLO、COCO)解析与转换(附代码)
  • 实战技巧:如何快速提高网站收录的多样性?
  • LangChain构建行业知识库实践:从架构设计到生产部署全指南
  • 【过程控制系统】第一章 过程控制系统的设计和发展趋势,确定系统变量和控制方案
  • 借助AI应用,自闭症人群开始有可能真正“读懂他人”
  • 央行副行长:增强外汇市场韧性,坚决对市场顺周期行为进行纠偏
  • 四川落马厅官周海琦受审,1000多人接受警示教育
  • 日均新开三家“首店”,上海的“首发经济”密码是什么?
  • 科克托是说真话的骗子,而毕加索是一言不发、让大家去猜的人
  • 2025年超长期特别国债24日首次发行