ebike-ui/ebike-operate/vite.config.js
2025-10-10 11:28:15 +08:00

124 lines
4.3 KiB
JavaScript

import { fileURLToPath, URL } from 'node:url'
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import Components from 'unplugin-vue-components/vite';
import { AntDesignVueResolver } from 'unplugin-vue-components/resolvers';
let targetUrl = 'http://192.168.2.226:10010/'
// targetUrl = 'http://192.168.2.142:10010/'
// 测试服
// targetUrl = 'https://www.cdzhuojing.cn/'
// 正式服
targetUrl = 'https://www.cx.cdzhuojing.cn/'
// https://vite.dev/config/
export default defineConfig({
plugins: [
vue()
, Components({
resolvers: [AntDesignVueResolver({
importStyle: 'less',// 启用LESS主题定制
resolveIcons: true
})],
})
],
resolve: {
alias: {
'@': fileURLToPath(new URL('./src', import.meta.url))
}
},
base: './',
build: {
assetsDir: 'assets'
},
server: {
proxy: {
// '^/ebike/operate/*'
'^/ebike/operate/*': {
changeOrigin: true,
target: targetUrl,
secure: false,
rewrite: (path) => {
return path.replace(/^\/operate/, 'operate')
}
, bypass(req, res, options) {
//@ts-ignore
const proxyUrl = new URL(options.rewrite(req.url) || '', (options.target))?.href || '';
console.log(proxyUrl);
req.headers['x-req-proxyUrl'] = proxyUrl
res.setHeader('x-res-proxyUrl', proxyUrl)
}
},
// '^/ebike/maintenance/*'
'^/ebike/maintenance/*': {
changeOrigin: true,
target: targetUrl,
secure: false,
rewrite: (path) => {
return path.replace(/^\/maintenance/, 'maintenance')
}
, bypass(req, res, options) {
//@ts-ignore
const proxyUrl = new URL(options.rewrite(req.url) || '', (options.target))?.href || '';
console.log(proxyUrl);
req.headers['x-req-proxyUrl'] = proxyUrl
res.setHeader('x-res-proxyUrl', proxyUrl)
}
},
// ^/ebike/user/*
'^/ebike/user/*': {
changeOrigin: true,
target: targetUrl,
secure: false,
rewrite: (path) => {
return path.replace(/^\/user/, 'user')
}
, bypass(req, res, options) {
//@ts-ignore
const proxyUrl = new URL(options.rewrite(req.url) || '', (options.target))?.href || '';
console.log(proxyUrl);
req.headers['x-req-proxyUrl'] = proxyUrl
res.setHeader('x-res-proxyUrl', proxyUrl)
}
},
// '^/ebike/order/*'
'^/ebike/order/*': {
changeOrigin: true,
target: targetUrl,
secure: false,
rewrite: (path) => {
return path.replace(/^\/order/, 'order')
}
, bypass(req, res, options) {
//@ts-ignore
const proxyUrl = new URL(options.rewrite(req.url) || '', (options.target))?.href || '';
console.log(proxyUrl);
req.headers['x-req-proxyUrl'] = proxyUrl
res.setHeader('x-res-proxyUrl', proxyUrl)
}
},
// '^/ebike/payment/*'
'^/ebike/payment/*': {
changeOrigin: true,
target: targetUrl,
secure: false,
rewrite: (path) => {
return path.replace(/^\/order/, 'payment')
},
bypass(req, res, options) {
//@ts-ignore
const proxyUrl = new URL(options.rewrite(req.url) || '', (options.target))?.href || '';
console.log(proxyUrl);
req.headers['x-req-proxyUrl'] = proxyUrl
res.setHeader('x-res-proxyUrl', proxyUrl)
}
}
},
cors: true,
host: '0.0.0.0'
}
})