vue.config.js中proxy配置

这篇具有很好参考价值的文章主要介绍了vue.config.js中proxy配置。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

这里以axios发请求为例

axios.get("/abc/def");
axios.get("/abc/ghi");
axios.post("/abc/jkm");
//axios发送的请求是本地的服务器地址拼接上发送的请求,如 http://localhost:8080/abc/def

如果发送的请求都以 /abc 开头,那么我们就可以在proxy中进行服务器代理配置。

devServer: {
  proxy: {
    "/abc": {
      target: "https://XX.XX.XX.XX:8081",
      changeOrigin: true,
      ws: true,
      secure: false,
    },
  },
},
// "/abc":{} : 引号中代表监测的是以 /abc 开头的接口
// target : 代表监测到以 /abc 开头的接口后,把axios请求中前面的本地服务器地址改为后端接口地址,实际发送给后端的请求就是下方后一个请求:http://localhost:8080/abc/def -->http://XX.XX.XX.XX:8081/abc/def
// changeOrigin : 是否跨域
// ws : 如果要代理 websockets,配置这个参数
// secure : 如果是https接口,需要配置这个参数,注:代理https时参数值必须为false(如果是http接口,也可以不写这个参数)
// pathRewrite :替换请求中匹配的内容。在3的方法2中详细解释用法,上方未使用此参数

3.代理多个接口

axios.get("/zzz/one");  // http://localhost:8080/zzz/one
axios.get("/ccc/two");  // http://localhost:8080/ccc/two

方法1:监测多个接口,可以在proxy中写多个配置:(适用于target不同的代理,相同也可以用这个方法,就是会麻烦一点,对于相同的target方法2会比较方便)

devServer: {
  proxy: {
    "/zzz": {
      target: "http://XX.XX.XX.XX:8082",
      changeOrigin: true,
      ws: true,
    },
    "/ccc": {
      target: "http://XX.XX.XX.XX:8083",
      changeOrigin: true,
      ws: true,
    },
  },
},
// 那么实际发送给后端的请求就是:
// http://XX.XX.XX.XX:8082/zzz/one
// http://XX.XX.XX.XX:8083/ccc/two

方法2:使用axios进行前设置(适用于target相同的代理)

// 一般在全局设置里引入,例如main.js,方便第二行的配置被每一个axios请求识别
import axios from "axios";
// 只要发送axios请求,就在请求前加入/api的开头,例如 /zzz/one -> /api/zzz/one
axios.defaults.baseURL = "/api";

进行了上方的配置后,在本地发送的请求会变为

http://localhost:8080/api/zzz/one
http://localhost:8080/api/ccc/two

而后可以设置只监听 “/api” 的代理,不过要设置pathRewrite参数:

devServer: {
  proxy: {
    "/api": {
      target: "http://XX.XX.XX.XX:8084",
      changeOrigin: true,
      ws: true,
      pathRewrite: { "^/api": "" },
    },
  },
},
// pathRewrite :检查代理的请求中是否有 /api ,有的话把 /api 替换为冒号后面的内容,案例为替换成空字符串,也就是删去 /api 。(^是正则表达式的内容,意思是限定开头)

如果不懂 我在下面举个列子把文章来源地址https://www.toymoban.com/news/detail-835143.html

http://localhost:8080/api/zzz/one
实际发送给后端的请求就是
http://XX.XX.XX.XX:8084/zzz/one

到了这里,关于vue.config.js中proxy配置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • vue前端开发中,通过vue.config.js配置和nginx配置,实现多个入口文件的实现方法

    由于vue为单页面项目,通过控制组件局部渲染,main.js是整个项目唯一的入口,整个项目都在一个index.html外壳中。 若项目过大,会造成单页面负载过重;同时,多页面利于模块独立部署。 如果项目中不同的页面需要不同的main.js和App.vue这样就需要配置多个入口了。 要单独将页

    2024年01月22日
    浏览(65)
  • proxy代理不生效、vue config.js不生效解决方法

    axios默认请求接口就是localhost,所以这里需要更改 axios设置的默认请求设置 在 main.js 文件里,设置 vue.config.js文件夹要和src在同级别下 在这里面 /api 就相当于 \\\' http://localhost:8080/ \\\' 所以接下来接口需要添加的的url参数不需要再写接口的域名 要是在不行就把请求头加上 springboo

    2024年01月17日
    浏览(26)
  • vue.config.js配置详解

    vue.config.js 是一个可选的配置文件,如果项目的 (和 package.json 同级的) 根目录中存在这个文件,那么它会被 @vue/cli-service 自动加载。你也可以使用 package.json 中的 vue 字段,但是注意这种写法需要你严格遵照 JSON 的格式来写。 以下是 vue.config.js 的一个基本配置: 这里只是列出

    2024年02月15日
    浏览(31)
  • 解读vue配置文件(vue.config.js)

    这是一个Vue.js的配置文件,用于指定项目的构建和开发服务器的行为。让我们逐步解读: resolve 函数: 用于解析路径。它被定义为简化创建目录的绝对路径的过程。 name 和 port 常量: name 设置为来自设置文件的标题。 port 设置为 8013 ,表示开发服务器的端口号。 publicPath :

    2024年01月17日
    浏览(25)
  • 【Vue】vue.config.js 的完整配置

    之前,我有提到过,当然大家肯定也都知道,Vue3.0不在有webpack.config.js的配置;但是不可避免,在项目开发中我们肯定会存在一些特殊的需求需要调整webpack, 这个时候,在Vue3.0的项目当中,我们就需要在根目录创建vue.config.js去完成webpack的一些特殊配置,默认它会被 @vue/cli-servi

    2023年04月22日
    浏览(22)
  • vue.config.js 跨域配置

    一般是配置 .env .env.production 等。 默认配置就是用 .env 示例: 为啥要封装,因为开发模式需要proxy代理。。而线上模式不需要。 /dev-api 只要不和web里的path 冲突就行,也可以取其他名字。 开发模式 就是web的路径,再加个特殊的path 用作代理。 其他模式 不需要proxy配置,直接走

    2024年02月11日
    浏览(23)
  • vue.config.js中打包相关配置

    1.原始篇 2.改进篇 通过对chunk生成的css和js文件数量和大小做限制,对代码进行压缩和分割,线上生产环境下使用cdn方式等对webpack打包优化。

    2024年01月22日
    浏览(24)
  • Vue2 系列:vue.config.js 参数配置

    1. publicPath 默认值:\\\'/\\\' 说明:部署应用包时的基本 URL,例:https://www.my-app.com/my-app/,则设置 publicPath 为 /my-app/ 提示:1. 当使用基于 HTML5 history.pushState 的路由时 2.当使用 pages 选项构建多页面应用时。 2. outputDir 默认值:\\\'dist\\\' 说明:打包目录。 提示:目标目录在构建之前会被

    2024年02月11日
    浏览(29)
  • Vite 配置代理 Proxy,Vue配置代理,解决前端跨域

    我们在做项目的时候经常会遇到跨域的问题,之所以会出现跨域问题是因为浏览器的同源策略,即协议、域名、端口需要一致,才可以访问服务端的资源。当一个请求地址(服务端的地址)的协议、域名、端口三者之间任意一个与当前页面地址(前端页面地址)不同即为跨域

    2024年02月17日
    浏览(30)
  • vue.config.js使用代理配置真实请求url

    前端请求接口过程中会统一配置代理请求url,配置之后浏览器只能看到local host路径。 为方便查看请求的真实ip,需要在vue.config.js中做如下配置,便能在浏览器实时查看到真实地址 配置完重启,效果如下:

    2024年02月13日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包