发布时间:2023-05-11 文章分类:WEB开发, 电脑百科 投稿人:李佳 字号: 默认 | | 超大 打印

概述

        不管使用什么脚手架,配置代理都是绕不开的话题 ,server.proxy 为开发服务器配置自定义代理规则。期望接收一个 { key: options } 对象。如果 key 值以  开头,将会被解释为 RegExpconfigure 可用于访问 proxy 实例。官网地址

更多详细配置 http-proxy

相关配置

vue3 项目中,找到 vite.config.ts 文件,在其中进行 vite 的相关配置.下面展示 选项 写法(可解决跨域问题

server: {
    port: 8080,
    proxy: {
      "/api": {
        target: "http://localhost:7001", // 所要代理的目标地址
        changeOrigin: true,  //允许跨域
        ws: true,  // 开启 websockets 代理
        secure: false, // 验证 SSL 证书
        rewrite: (path) => path.replace(/^\/api/, ""),  // 重写传过来的path路径
      },
    },
  },

简要说明

        前端跨域问题其实是一个安全问题,就是为了防止不同域名的服务之间进行互相访问,以避免恶意程序对后端资源进行非法获取。在开发的时候,我们就可以利用代理来把请求进行代理,把域名等改成一样的,这样就避免了跨越的问题。

上面配置的 后端地址为 http://localhost:7001 ,代理以  /api 开头的所有 API 请求,并把它转发到http://localhost:7001

例如: 前端请求地址一般为简写  /api/user,前端实际请求地址为 http://localhost:7001/api/user

实际转发到后端的地址是省略了 /api,为 http://localhost:7001/user

同时,也可以代理多个地址,例如

server: {
   proxy: {
      "/api": {
        target: "http://localhost:7001",
        changeOrigin: true,
      },
       "foo": {
          target: "http://localhost:7002",
          changeOrigin: true,
        }
    },
  },

注意

配置 vite.config.ts 后,记得重启项目,否则不会生效

文章如有错误,恳请大家提出问题,本人不胜感激 。 不懂的地方可以评论,我都会 一 一 回复

文章对大家有帮助的话,希望大家能动手点赞鼓励,大家未来一起努力     长路漫漫,道阻且长