在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('')
}
}
});