当前位置:首页 > VUE

vue cli实现反向代理

2026-02-24 09:31:14VUE

配置反向代理

在 Vue CLI 项目中,可以通过修改 vue.config.js 文件配置反向代理。假设后端 API 地址为 http://localhost:3000,需要将所有以 /api 开头的请求代理到该地址。

module.exports = {
  devServer: {
    proxy: {
      '/api': {
        target: 'http://localhost:3000',
        changeOrigin: true,
        pathRewrite: {
          '^/api': ''
        }
      }
    }
  }
}

代理配置参数说明

  • target:指定需要代理到的目标地址。
  • changeOrigin:修改请求头中的 Host 为目标地址的域名,避免跨域问题。
  • pathRewrite:重写请求路径,例如将 /api/user 转换为 /user

多路径代理配置

如果需要代理多个路径到不同的目标地址,可以配置多个代理规则。

module.exports = {
  devServer: {
    proxy: {
      '/api': {
        target: 'http://localhost:3000',
        changeOrigin: true,
        pathRewrite: {
          '^/api': ''
        }
      },
      '/auth': {
        target: 'http://localhost:4000',
        changeOrigin: true,
        pathRewrite: {
          '^/auth': ''
        }
      }
    }
  }
}

环境变量配置

为了区分开发环境和生产环境的 API 地址,可以使用环境变量。在项目根目录创建 .env.development.env.production 文件。

.env.development

VUE_APP_API_BASE_URL=/api

.env.production

VUE_APP_API_BASE_URL=https://production-api.com

在代码中通过 process.env.VUE_APP_API_BASE_URL 访问环境变量。

请求示例

在 Vue 组件中发起请求时,直接使用配置的代理路径。

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

注意事项

  • 反向代理仅在开发环境生效,生产环境需要通过服务器(如 Nginx)配置代理。
  • 修改 vue.config.js 后需要重启开发服务器。

vue cli实现反向代理

标签: vuecli
分享给朋友:

相关文章

vue状态管理怎么实现

vue状态管理怎么实现

Vue 状态管理实现方法 使用 Vuex(官方推荐) Vuex 是 Vue 的官方状态管理库,适合中大型应用。 安装 Vuex: npm install vuex --save 创建 Store…

实现vue模版

实现vue模版

Vue 模板的基本结构 Vue 模板基于 HTML 语法,通过 Vue 的指令和插值实现动态渲染。以下是一个基础模板示例: <template> <div id="app…

vue实现过滤

vue实现过滤

Vue实现过滤的方法 在Vue中实现数据过滤可以通过多种方式完成,以下是几种常见的方法: 使用计算属性过滤 计算属性是Vue中处理数据过滤的理想选择,它们基于响应式依赖进行缓存,只有在相关依赖发生…

vue实现粘贴

vue实现粘贴

Vue 实现粘贴功能的方法 在 Vue 中实现粘贴功能通常涉及监听粘贴事件并处理剪贴板数据。以下是几种常见的实现方式: 监听原生粘贴事件 通过 @paste 指令或原生 addEventListe…

vue实现popup

vue实现popup

Vue 实现 Popup 弹窗 使用 Vue 原生组件 创建一个基本的 Vue 组件作为弹窗,通过 v-if 或 v-show 控制显示隐藏。 <template> <div&…

vue实现曲线

vue实现曲线

Vue 实现曲线的方法 在 Vue 中实现曲线可以通过多种方式,包括使用 SVG、Canvas 或第三方库如 D3.js、ECharts 等。以下是几种常见的方法: 使用 SVG 绘制曲线 SVG…