Acrylic cards and topbar over a blurred background, country flags, ISP and OS icons, per-node version tags, a build info footer and an admin versions tab. Overview cards drop the sparkline and widen the hover area.
28 lines
1.2 KiB
TypeScript
28 lines
1.2 KiB
TypeScript
import react from '@vitejs/plugin-react'
|
|
import { fileURLToPath } from 'node:url'
|
|
import { defineConfig, loadEnv } from 'vite'
|
|
import { buildDefines } from '../build-info.mjs'
|
|
|
|
// 开发时把 /api 转发给后端,地址取自环境变量 BACKEND_URL,或 web/.env.local 里的 BACKEND_URL=(见 web/.env.example):
|
|
// BACKEND_URL=https://mo.oeo.one npm run dev:display
|
|
export default defineConfig(({ mode }) => {
|
|
const env = loadEnv(mode, fileURLToPath(new URL('..', import.meta.url)), '')
|
|
const backend = (process.env.BACKEND_URL ?? env.BACKEND_URL ?? 'http://localhost:29181').replace(/\/+$/, '')
|
|
return {
|
|
base: '/admin/',
|
|
define: buildDefines(mode === 'development'),
|
|
plugins: [react()],
|
|
resolve: { alias: { '@shared': fileURLToPath(new URL('../shared', import.meta.url)) } },
|
|
server: {
|
|
// 5174 常被 Docker Desktop 占用,管理端用 5175;端口被占时直接报错,不悄悄换到别的端口
|
|
port: 5175,
|
|
strictPort: true,
|
|
fs: { allow: ['..'] },
|
|
proxy: {
|
|
'/api': { target: backend, changeOrigin: true, secure: true, cookieDomainRewrite: '' },
|
|
'/healthz': { target: backend, changeOrigin: true, secure: true, cookieDomainRewrite: '' },
|
|
},
|
|
},
|
|
}
|
|
})
|