vue和vite怎么同时代理两个路径,以及一些坑点

 server: {
      proxy: {
        [env.VITE_APP_BASE_API]: {
          //获取数据的服务器地址设置
          target: env.VITE_SERVE,
          //需要代理跨域
          changeOrigin: true,
          //路径重写
          rewrite: (path) => path.replace(/^\/api/, ''),
        },
        [env.VITE_APP_BASE_API1]: {
          target: env.VITE_SERVE1,
          changeOrigin: true,
          rewrite: (path) => path.replace(/^\/api1/, ''),
        },


      }
    }
VITE_APP_BASE_API ='/api'
VITE_APP_BASE_API1 ='/api1'
VITE_SERVE="http://sph-api.atguigu.cn"
VITE_SERVE1="http://39.98.123.211:8510"
let request = axios.create({
  //基础路径
  // @ts-ignore
  baseURL: import.meta.env.VITE_APP_BASE_API,//基础路径上会携带/api
  // baseURL: '',
  timeout: 5000//超时的时间的设置
});


//第二步:request实例添加请求与响应拦截器
request.interceptors.request.use((config) => {
  console.log(config.url)
  if (config.url?.includes('/api1')) {
    // @ts-ignore
    config.baseURL = ''

  }
  const userStore = useUserStore();
  if (userStore.token) {
    config.headers.token = userStore.token;
  }
  //config配置对象,headers属性请求头,经常给服务器端携带公共参数
  //返回配置对象
  return config;
}, (error) => {
  return Promise.reject(error);

});

我在这边同时代理两个路径,但是不管怎么试都成功不了,然后我发现把代理两个位置换一下就成功了!!!

 server: {
      proxy: {
        [env.VITE_APP_BASE_API1]: {
          target: env.VITE_SERVE1,
          changeOrigin: true,
          rewrite: (path) => path.replace(/^\/api1/, ''),
        },
        [env.VITE_APP_BASE_API]: {
          //获取数据的服务器地址设置
          target: env.VITE_SERVE,
          //需要代理跨域
          changeOrigin: true,
          //路径重写
          rewrite: (path) => path.replace(/^\/api/, ''),
        },
      }
    }

所以我是觉得他之前不成功应该是直接匹配到api上了,就没用管后面的代理api1,所以解决这个问题要么就换个代理名字,要么就像我这样先把这些api1给往上面放

VueVite 结合可以构建高效的单页应用,如果你想把页面分为左右两个部分,你可以按照以下步骤操作: 1. **设置布局基础**: 使用 Vue 的组件系统,创建两个独立的子组件,比如左侧栏 `LeftAside.vue` 和右侧内容区 `RightContent.vue`。确保它们各自负责显示对应的部分。 ```html <!-- LeftAside.vue --> <template> <div class="left-aside"> <!-- 左侧栏的内容 --> </div> </template> <!-- RightContent.vue --> <template> <div class="right-content"> <!-- 右侧内容区域 --> </div> </template> ``` 2. **组件注册与引用**: 在主组件(通常命名为 `App.vue` 或者 `index.html` 中)引入这两个组件,并使用 `<router-view>` 标签结合 Vite 的路由功能来展示其中的一个。 ```html <!-- App.vue or index.html --> <template> <div class="container"> <LeftAside /> <div class="content-container"> <router-view></router-view> <!-- 这里会动态渲染当前的路由视图 --> </div> </div> </template> ``` 3. **路由配置**: 如果使用的是 Vue Router,你需要配置路由规则,让某个路由对应的组件显示在右侧。例如: ```js // router.js (如果使用 Vue Router) import { createRouter } from 'vue-router'; import LeftAside from './components/LeftAside.vue'; import RightContent from './components/RightContent.vue'; const routes = [ // 其他路由... { path: '/main', component: () => ({ render: h => h(RightContent), }), }, ]; const router = createRouter({ routes, }); export default router; ``` 现在,当你访问 `/main` 路径时,`RightContent` 组件将会替代 `<router-view>` 显示在右侧。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值