Files
openbridge-token-usage-viewer/vite.config.ts
MAO Dongyang f2db4bff9d chore: 统一开发服务器端口为 13098
- 更新 .env.example、env.ts、vite.config.ts 默认端口
- 同步更新 sidecar.rs Rust 端口常量
- 更新 README、AGENTS.md 等文档中的端口引用
2026-01-27 11:10:21 +08:00

77 lines
2.0 KiB
TypeScript

/**
* Vite 构建配置
*
* 集成 TanStack Start (SSR) + Nitro (服务端) + Tailwind CSS + React Compiler。
*
* 特性:
* - Bun 运行时优化 (nitro preset: 'bun')
* - 静态资源内联 (serveStatic: 'inline')
* - React Compiler 自动优化 (无需手动 memo)
* - 端口默认 13098
*/
import tailwindcss from '@tailwindcss/vite'
import { devtools as tanstackDevtools } from '@tanstack/devtools-vite'
import { tanstackStart } from '@tanstack/react-start/plugin/vite'
import react from '@vitejs/plugin-react'
import { nitro } from 'nitro/vite'
import { defineConfig, loadEnv } from 'vite'
import tsconfigPaths from 'vite-tsconfig-paths'
// ============================================================================
// 项目配置 (集中管理)
// ============================================================================
/** 加载 .env 文件中的环境变量 */
const envVars = loadEnv('development', process.cwd(), '')
/** 开发服务器端口 (从环境变量读取,默认 13098) */
const DEV_PORT = 13098
export default defineConfig({
// 禁止清屏,方便与 Tauri 开发工具共用终端
clearScreen: false,
build: {
// 使用 esbuild 进行 CSS 压缩
// 避免 lightningcss 处理第三方 CSS 时的兼容性问题
cssMinify: 'esbuild',
},
plugins: [
// TanStack 开发工具
tanstackDevtools(),
// Nitro 服务端框架 (Bun 运行时)
nitro({
preset: 'bun',
serveStatic: 'inline',
}),
// TypeScript 路径别名 (@/* -> src/*)
tsconfigPaths(),
// Tailwind CSS v4
tailwindcss(),
// TanStack Start SSR 框架
tanstackStart(),
// React + Babel (启用 React Compiler)
react({
babel: {
plugins: ['babel-plugin-react-compiler'],
},
}),
],
server: {
port: DEV_PORT,
// 如果端口被占用则报错,而不是自动切换端口
strictPort: false,
watch: {
// 忽略 Tauri 源码目录,避免不必要的重编译
ignored: ['**/src-tauri/**'],
},
},
})