【Vue.js】对Vue-element-admin做代理网关转发proxy配置

文章介绍了如何配置Vue项目的环境变量,如.env.development和.env.production,以及在vue.config.js中设置devServer和proxy,用于处理开发环境和生产环境的API请求。在开发环境中使用MockJS模拟数据,生产环境中通过proxy实现对SpringCloud微服务架构中API的转发,确保请求通过网关进行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

环境配置

在这里插入图片描述

.env.development # 开发环境
.env.production # 生产环境

我们需要在两个环境变量文件中配置

VUE_APP_BASE_API = '/dev' # 这里配置全局的API前置标识 开发环境我使用的/dev  生产环境用的是/prod
VUE_APP_BASE_URL = 'http://127.0.0.1:7000' # 这是基础BaseUri 主要给axios使用的

配置vue.config.js

 devServer: {
    port: port,
    open: false,
    overlay: {
      warnings: false,
      errors: true
    },
    // before: require('./mock/mock-server.js')   这是mockjs 在实际开发中前后端分离的场景可以使用,其他场景可以关闭
    proxy: {
    // 开发环境的标识  
      ['/dev']: {  
        target: process.env.VUE_APP_BASE_URL,
        changeOrigin: true,
        ws: true,
        secure: false,
        pathRewrite: {
        // 由于我们不需要接口帮我们拼接/dev/v1/api/** 可以在这里重写路径,选择追加或者不追加或者追加其他的前置path标识
          ["^" + process.env.VUE_APP_BASE_API]: ""
        }
      },
      ['/prod']: {
        target: process.env.VUE_APP_BASE_URL,
        changeOrigin: true,
        ws: true,
        secure: true,
        pathRewrite: {
          ["^" + process.env.VUE_APP_BASE_API]: ""
        }
      },

    }
  },

演示

  • 开发环境
    在这里插入图片描述
  • 生产环境
    在这里插入图片描述

为啥要这么做呢?

理论上我们本地打包后dist都是直接放在后台SpringBooot的resource/static目录下 启动项目可以直接访问,由于做的SpringCloud微服务,这里就把网关和后台管理给分开了,网关做统一转发,等于说网关是唯一如果,这时候我们在把dist放在resource/static目录下,就会造成资源不从网关中,通过proxy直接访问的是后台管理模块的IP和端口。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我的钱包空指针了

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值