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.
29 lines
1.3 KiB
TypeScript
29 lines
1.3 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: '/',
|
|
define: buildDefines(mode === 'development'),
|
|
plugins: [react()],
|
|
resolve: { alias: { '@shared': fileURLToPath(new URL('../shared', import.meta.url)) } },
|
|
server: {
|
|
port: 5173,
|
|
strictPort: true,
|
|
fs: { allow: ['..'] },
|
|
proxy: {
|
|
// 开发时管理端是另一个 Vite 服务(5175);和线上一样用同源的 /admin/ 访问它
|
|
'/admin': { target: 'http://localhost:5175', changeOrigin: true, ws: true },
|
|
'/api': { target: backend, changeOrigin: true, secure: true, cookieDomainRewrite: '' },
|
|
'/healthz': { target: backend, changeOrigin: true, secure: true, cookieDomainRewrite: '' },
|
|
},
|
|
},
|
|
}
|
|
})
|