vite + vue3 查看代理后请求URL

在vite.config.ts 增加下面配置

 bypass(req, res, options: any) {
    const proxyURL = options.target + options.rewrite(req.url);
    console.log('proxyURL', proxyURL);
    req.headers['x-req-proxyURL'] = proxyURL;
    res.setHeader('x-req-proxyURL', proxyURL); // 设置响应头可以看到
 }

控制台请求后会在 请求头里添加一个参数 X-Reg-Proxyurl,如下图
在这里插入图片描述

完整配置如下:

env.development

VITE_API_URL='/api/gateway/'

vite.config.ts

import { defineConfig } from 'vite';
import vue from '@vitejs/plugin-vue';
import vueJsx from '@vitejs/plugin-vue-jsx';
import path from 'path';
import { resolve } from 'path';
// https://vitejs.dev/config/
export default defineConfig({
  server: {
    proxy: {
      '/api/gateway/': {
        target: 'http://192.168.0.66:8085',
        changeOrigin: true,
        rewrite: path => path.replace(RegExp(`^\/api\/gateway/`), ''),
        bypass(req, res, options: any) {
          const proxyURL = options.target + options.rewrite(req.url);
          console.log('proxyURL', proxyURL);
          req.headers['x-req-proxyURL'] = proxyURL; 
          res.setHeader('x-req-proxyURL', proxyURL); // 设置响应头可以看到
        }
      }
    }
  },
  plugins: [
    vue(),
    vueJsx()
  ],
  resolve: {
    alias: {
      '@': resolve(__dirname, './src'),
      '*': resolve('')
    }
  }
});

  • 9
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
vite+vue3项目中,你可以通过封装axios来处理网络请求。下面是一个简单的示例: 1. 首先,安装axios依赖: ```bash npm install axios ``` 2. 创建一个`api.js`文件来封装axios: ```javascript import axios from 'axios'; // 创建一个axios实例 const instance = axios.create({ baseURL: 'https://api.example.com', // 设置接口的基础url timeout: 5000 // 请求超时时间 }); // 请求拦截器 instance.interceptors.request.use( config => { // 在发送请求之前做一些处理,例如添加token等 return config; }, error => { // 请求错误处理 console.error(error); return Promise.reject(error); } ); // 响应拦截器 instance.interceptors.response.use( response => { // 对响应数据做一些处理,例如解析返回的json数据 return response.data; }, error => { // 响应错误处理 console.error(error); return Promise.reject(error); } ); export default instance; ``` 3. 在需要发送请求的地方引入`api.js`并使用: ```javascript import api from './api.js'; // 发送GET请求 api.get('/users') .then(response => { console.log(response); }) .catch(error => { console.error(error); }); // 发送POST请求 api.post('/users', { name: 'John Doe' }) .then(response => { console.log(response); }) .catch(error => { console.error(error); }); ``` 这样,你就可以在vite+vue3项目中使用封装好的axios进行网络请求了。当然,你还可以根据项目的需要进行更多的封装和配置。希望对你有帮助!如果还有其他问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值