Files
admin-web/vite.config.ts
T

52 lines
1.4 KiB
TypeScript
Raw Normal View History

2026-07-30 17:59:43 +08:00
import { fileURLToPath, URL } from 'node:url'
import { defineConfig, loadEnv } from 'vite'
import vue from '@vitejs/plugin-vue'
import AutoImport from 'unplugin-auto-import/vite'
import Components from 'unplugin-vue-components/vite'
import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'
export default defineConfig(({ mode }) => {
const env = loadEnv(mode, process.cwd(), '')
2026-09-29 18:47:41 +08:00
const proxyTarget = process.env.API_PROXY_TARGET || env.API_PROXY_TARGET || 'http://localhost:9000'
2026-07-30 17:59:43 +08:00
return {
plugins: [
vue(),
AutoImport({
resolvers: [ElementPlusResolver()],
dts: 'src/auto-imports.d.ts',
}),
Components({
resolvers: [
name => name === 'ElSelect' ? {
name: 'AdminSelect',
from: '@/shared/components/AdminSelect',
sideEffects: 'element-plus/es/components/select/style/css',
} : undefined,
ElementPlusResolver(),
],
2026-07-30 17:59:43 +08:00
dts: 'src/components.d.ts',
}),
],
resolve: {
alias: {
'@': fileURLToPath(new URL('./src', import.meta.url)),
},
},
server: {
2026-08-07 17:14:42 +08:00
strictPort: true,
2026-07-30 17:59:43 +08:00
proxy: {
'/api': {
target: proxyTarget,
changeOrigin: true,
2026-07-31 13:43:16 +08:00
configure(proxy) {
proxy.on('proxyReq', (proxyRequest) => {
proxyRequest.removeHeader('origin')
})
},
2026-07-30 17:59:43 +08:00
},
},
},
}
})