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

vue:vite 代理服务器 server: proxy 配置

Vite 代理服务器(Proxy)的配置通常用于开发环境,以解决跨域请求等问题。以下是一个详细的配置步骤:

通过以上步骤,你就可以在 Vite 项目中配置代理服务器,以便在开发过程中方便地访问后端服务。

  1. 找到 Vite 配置文件‌:

    • Vite 的配置文件通常为项目根目录下的 vite.config.js 或 vite.config.ts。如果项目中没有这个文件,可以手动创建一个。
  2. 配置代理‌:

    • 在 vite.config.js 或 vite.config.ts 文件中,通过 export default 导出一个配置对象,并在该对象中添加 proxy 属性。proxy 属性是一个对象,用于配置各个代理规则。
  3. 定义代理规则‌:

    • 每个代理规则都是一个以目标URL为键的对象。该对象可以包含以下属性:
      • target:代理的目标地址,即后端服务的实际地址。
      • changeOrigin:是否改变源地址。通常设置为 true,以便代理服务器能够正确识别请求的来源。
      • rewrite:重写规则,用于修改请求的路径或查询参数等。
      • headers:自定义请求头,用于在代理请求中添加额外的HTTP头。
  4. 示例配置‌:

    以下是一个简单的 Vite 代理配置示例:
    // vite.config.js
    import { defineConfig } from 'vite'
    import vue from '@vitejs/plugin-vue'
    
    // https://vite.dev/config/
    export default defineConfig({
      plugins: [vue()],
      server: {
        proxy: {
          '/api': {
            target: 'http://localhost:8000', // 后端服务地址
            changeOrigin: true, // 是否改变源地址
            rewrite: (path) => path.replace(/^\/api/, '')
          }
        }
      }    
    })

    在上面的示例中,所有以 /api 开头的请求都会被代理到 http://localhost:8000,并且请求路径中的 /api 前缀会被移除。

  5. 重启 Vite‌:npm run dev 

    • 配置完成后,需要重启 Vite 开发服务器,以便使代理配置生效。
  6. 使用代理‌:

    • 在前端代码中,你可以像访问本地资源一样访问代理的后端服务。例如,如果你配置了代理 /api 到 http://localhost:8000,你可以在前端代码中通过 fetch('/api/data') 来访问 http://localhost:8000/data
  7. 注意事项‌:

    • 在设置代理后,建议在开发过程中禁用其他不必要的网络请求,以减少潜在的安全风险。
    • 在生产环境中,通常不会使用代理,而是直接配置后端服务以允许跨域请求,或使用其他安全措施来保护网络环境。
    • 如果以上简单的 proxy 配置不能满足您的需求,还可以安装 http-proxy 中间件
      npm install http-proxy-middleware --save-dev
      npm show http-proxy-middleware
      http-proxy-middleware@3.0.3 | MIT | deps: 6 | versions: 88
      The one-liner node.js proxy middleware for connect, express, next.js and more
      https://github.com/chimurai/http-proxy-middleware#readme
    • 使用 http-proxy-middleware 示例:
      import { defineConfig } from 'vite'
      import vue from '@vitejs/plugin-vue'
      import { createProxyMiddleware } from 'http-proxy-middleware'
      
      // vite.config.js
      export default defineConfig({
        plugins: [vue()],
        server: {
          proxy: createProxyMiddleware({
            context: ['/api', '/auth'],
            target: 'http://localhost:8000', // 后端服务地址
            changeOrigin: true // 是否改变源地址
          })
        }    
      })
      

       

相关文章:

  • 反爬虫策略
  • 深度神经网络(DNN)编译器原理简介
  • iview table组件中修改按钮时 要注意是否真的修改了值
  • 拓展知识:TxHeaders (Twisted Headers) 详解
  • 云服务器部署DeepSeek Janus-Pro生成图片实战
  • Redisson使用场景及原理
  • 通义灵码插件安装入门教学 - IDEA(安装篇)
  • 《机器学习数学基础》补充资料:从几何角度理解矩阵
  • 十一、大数据治理平台总体功能架构
  • KubeBlocks v0.9.3发布啦!支持增量备份、Redis分片集群继续优化...还有更多Addon功能优化等你体验!
  • Win11系统 VMware虚拟机 安装
  • Qt常用控件之单行输入框QLineEdit
  • LVS+Keepalived 高可用集群搭建
  • 安装Git(小白也会装)
  • Mysql——索引
  • 网工面试题(安全)
  • 【MySQL篇】表的操作
  • 用pyside6创建一个界面并实现一个小功能且能打包成问题记录
  • ${sym} 与 String(sym) 的区别
  • 《昇腾推理服务器+DeepSeek大模型》技术培训在图为科技成功举办
  • 电影网站app怎么做/今天有什么新闻
  • 鹤岗北京网站建设/软文范例300字
  • 有没有网站做胡兼职/百度的广告推广需要多少费用
  • 吴忠网站建设公司/海南百度总代理
  • 龙口seo/seo优化软件免费
  • 门户网站建设需要注意什么/seo推广经验