当前位置:首页 > 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 文件。

vue cli实现反向代理

.env.development

VUE_APP_API_BASE_URL=/api

.env.production

vue cli实现反向代理

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 后需要重启开发服务器。

标签: vuecli
分享给朋友:

相关文章

vue实现多选联动

vue实现多选联动

vue实现多选联动的方法 使用v-model绑定数组 在Vue中,可以通过v-model绑定一个数组来实现多选联动。当复选框被选中或取消选中时,数组会自动更新。 <template>…

vue实现tablegrid

vue实现tablegrid

Vue 实现 TableGrid 的方法 使用 Element UI 的 Table 组件 Element UI 提供了强大的 Table 组件,可以快速实现表格布局。安装 Element UI 后,…

vue实现公告

vue实现公告

Vue 实现公告功能的方法 公告功能通常需要实现滚动展示、自动切换或固定显示的效果。以下是几种常见的实现方式: 使用 marquee 标签实现滚动公告 <template> <…

vue实现vnc

vue实现vnc

Vue 实现 VNC 客户端 在 Vue 项目中实现 VNC 客户端功能,可以通过集成现有的 VNC 客户端库或组件完成。以下是具体实现方法: 安装依赖库 使用 noVNC 或其他 VNC 客户端…

vue实现picker

vue实现picker

Vue 实现 Picker 组件的方法 在 Vue 中实现 Picker 组件可以通过多种方式完成,以下是几种常见的实现方法: 使用原生 HTML 和 CSS 实现 通过 Vue 的模板和样式绑定,…

vue 实现排序

vue 实现排序

Vue 实现排序的方法 使用计算属性实现排序 通过计算属性对数组进行排序,可以保持原始数据不变。示例代码展示了如何对列表按名称升序排序: <template> <div>…