Files
Hermes-ui/vite.config.ts
T

58 lines
1.3 KiB
TypeScript
Raw Normal View History

2026-04-11 15:59:14 +08:00
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import type { ProxyOptions } from 'vite'
import { resolve } from 'path'
import pkg from './package.json'
2026-04-11 15:59:14 +08:00
const BACKEND = 'http://127.0.0.1:8648'
2026-04-11 15:59:14 +08:00
function createProxyConfig(): ProxyOptions {
return {
target: BACKEND,
2026-04-11 15:59:14 +08:00
changeOrigin: true,
configure: (proxy) => {
proxy.on('proxyReq', (proxyReq) => {
proxyReq.removeHeader('origin')
proxyReq.removeHeader('referer')
})
proxy.on('proxyRes', (proxyRes) => {
proxyRes.headers['cache-control'] = 'no-cache'
proxyRes.headers['x-accel-buffering'] = 'no'
})
},
}
}
export default defineConfig({
root: 'packages/client',
plugins: [vue()],
define: {
__APP_VERSION__: JSON.stringify(pkg.version),
},
2026-04-11 15:59:14 +08:00
resolve: {
alias: {
'@': resolve(__dirname, 'packages/client/src'),
2026-04-11 15:59:14 +08:00
},
},
build: {
outDir: '../../dist/client',
emptyOutDir: true,
},
optimizeDeps: {
include: ['monaco-editor'],
},
2026-04-11 15:59:14 +08:00
server: {
proxy: {
'/api': createProxyConfig(),
'/v1': createProxyConfig(),
'/health': createProxyConfig(),
'/upload': createProxyConfig(),
'/webhook': createProxyConfig(),
'/socket.io': {
target: BACKEND,
ws: true,
},
2026-04-11 15:59:14 +08:00
},
},
})