Vue3如何配置多级代理

 更新时间:2025年04月06日 10:26:11   作者:在努力的前端小白  
这篇文章主要介绍了Vue3如何配置多级代理问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

Vue3配置多级代理

在Vue3项目中,我们可以通过修改 vue.conig.js或者vue.conig.ts 文件来配置多个proxy。

下面是一个示例的 vue.config.ts 文件,我分别设置了两个不同的请求地址,分别用于处理不同的请求。

1、在vite.config.ts里面配置

export default defineConfig({
  plugins: [vue()],
  server: {
    open: true, //自动打开浏览器
    host: "0.0.0.0",
    port: 8989,
    // 设置反向代理,跨域
    proxy: {
      '/get': {
        // 后台地址
        target: 'https://xxx.xxx.xxx.x:8080', //填写后台真实地址
        changeOrigin: true,
        // 访问https的接口,需要加secure
        secure: false,
        rewrite: path => path.replace(/^\/get/, '')
      },
      '/api': {
        // 后台地址
        target: 'https://xxx.xxx.xxx.x:8080', //填写后台真实地址
        changeOrigin: true,
        // 访问https的接口,需要加secure
        secure: false,
        rewrite: path => path.replace(/^\/api/, '')
      },
    
})

2.配置axios

// axiosInstance.js
import axios from "axios";
import { getToken } from "/src/utils/auth";

// 创建一个 Axios 实例
const API = axios.create({
  timeout: 60000, // 请求超时设置,单位ms
});

// 请求拦截器
API.interceptors.request.use(
  (config) => {
    // 动态设置 baseURL
    if (config.url.startsWith('/get')) {
      config.baseURL = '/get';
    } else {
      config.baseURL = '/api';
    }

    // 将 token 添加到请求头中
    config.headers["token"] = getToken();
    
    return config;
  },
  (error) => {
    // 请求错误处理
    console.log(error); // 调试
    return Promise.reject(error);
  }
);

export default API;

使用:根据请求的 URL 自动选择不同的 baseURL

import API from './axiosInstance';

// 请求使用 baseURL 为 /get
API.get('/get/user/login').then(res => {
  console.log(res.data);
});

// 请求使用 baseURL 为 /api
API.get('/api/admin/login').then(res => {
  console.log(res.data);
});

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • vue中使用vue-pdf的方法详解

    vue中使用vue-pdf的方法详解

    这篇文章主要介绍了vue中使用vue-pdf的方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-09-09
  • Vue记事本实例详解

    Vue记事本实例详解

    这篇文章主要为大家详细介绍了Vue实现记事本功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-06-06
  • vue递归生成树状结构的示例代码

    vue递归生成树状结构的示例代码

    这篇文章主要介绍了vue递归生成树状结构的示例,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2024-07-07
  • element-plus 在vue3 中不生效的原因解决方法(element-plus引入)

    element-plus 在vue3 中不生效的原因解决方法(element-plus引入)

    这篇文章主要介绍了element-plus 在vue3 中不生效的原因解决方法(element-plus引入),本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-08-08
  • Vue中computed及watch区别实例解析

    Vue中computed及watch区别实例解析

    这篇文章主要介绍了Vue中computed及watch区别实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-08-08
  • 解决vue项目中出现Invalid Host header的问题

    解决vue项目中出现Invalid Host header的问题

    这篇文章主要介绍了解决vue项目中出现"Invalid Host header"的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • Vue实现当访问的路由不存在时跳转到404页面的方法详解

    Vue实现当访问的路由不存在时跳转到404页面的方法详解

    在 Vue3 中,可以使用 Vue Router 实现跳转到 404 页面,即当用户访问一个不存在路由时,系统会默认跳转到 404 页面,本文给大家介绍了一个简单的实现方法,需要的朋友可以参考下
    2023-12-12
  • vue3页面query参数变化并重新加载页面数据方式

    vue3页面query参数变化并重新加载页面数据方式

    在Web开发中,页面间的跳转及数据刷新是常见问题,通过使用$router.push和$router.replace方法,可以控制页面跳转的行为,具体操作时,若发现页面ID变更后数据未刷新,可通过给router-view标签添加key值解决,若使用keep-alive
    2024-10-10
  • vue 悬浮窗且带自动吸附功能实现demo

    vue 悬浮窗且带自动吸附功能实现demo

    这篇文章主要为大家介绍了vue 悬浮窗且带自动吸附功能实现demo,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-06-06
  • vue3中的伸缩菜单组件

    vue3中的伸缩菜单组件

    这篇文章主要介绍了vue3中的伸缩菜单组件,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-01-01

最新评论