Files
YG_FT/frontend/vite.config.ts
2026-07-21 16:15:01 +08:00

47 lines
1.3 KiB
TypeScript

import { defineConfig } 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'
import path from 'node:path'
function configuredPort(name: 'FRONTEND_PORT' | 'BACKEND_PORT', fallback: number) {
const port = Number(process.env[name] ?? fallback)
if (!Number.isInteger(port) || port < 1 || port > 65535) {
throw new Error(`${name} must be an integer between 1 and 65535`)
}
return port
}
const frontendPort = configuredPort('FRONTEND_PORT', 16801)
const backendPort = configuredPort('BACKEND_PORT', 17861)
// https://vite.dev/config/
export default defineConfig({
plugins: [
vue(),
AutoImport({
resolvers: [ElementPlusResolver({ importStyle: 'css' })],
}),
Components({
resolvers: [ElementPlusResolver({ importStyle: 'css' })],
}),
],
resolve: {
alias: {
'@': path.resolve(__dirname, 'src'),
},
},
server: {
port: frontendPort,
strictPort: true,
proxy: {
// 一键启动脚本会将 YAML 中的后端端口注入当前 Vite 进程。
'/modelTF': {
target: `http://127.0.0.1:${backendPort}`,
changeOrigin: true,
},
},
},
})