Files
reader-star/apps/admin/vite.config.ts
rjl 40a6850c3f chore(admin): 优化构建配置并升级资源格式
- 新增构建插件:打包分析、压缩、自动部署、图片优化和PWA支持
- 将SVG资源转换为WebP格式以提升加载性能
- 添加新的背景图片资源用于用户界面优化
- 更新环境配置:调整基础URL和服务地址
- 优化用户界面组件以适配新的资源格式
- 更新package.json依赖以支持新的构建功能
- 改进构建流程以支持自动部署和性能监控
2026-03-13 17:52:13 +08:00

52 lines
1.4 KiB
TypeScript

import process from 'node:process'
import { fileURLToPath, URL } from 'node:url'
import { defineConfig, loadEnv } from 'vite'
import { createViteProxy, getBuildTime } from './build/config'
import { setupVitePlugins } from './build/plugins'
export default defineConfig((configEnv) => {
const viteEnv = loadEnv(configEnv.mode, process.cwd()) as unknown as Env.ImportMeta
const buildTime = getBuildTime()
const enableProxy = configEnv.command === 'serve' && !configEnv.isPreview
return {
base: viteEnv.VITE_BASE_URL,
resolve: {
alias: {
'~': fileURLToPath(new URL('./', import.meta.url)),
'@': fileURLToPath(new URL('./src', import.meta.url)),
},
},
css: {
preprocessorOptions: {
scss: {
api: 'modern-compiler',
additionalData: `@use "@/styles/scss/variables.scss" as *; @use "@/styles/scss/global.scss" as *;`,
},
},
},
plugins: setupVitePlugins(viteEnv, buildTime, configEnv.command === 'build'),
define: {
BUILD_TIME: JSON.stringify(buildTime),
},
server: {
host: '0.0.0.0',
port: 9527,
open: true,
proxy: createViteProxy(viteEnv, enableProxy),
},
preview: {
port: 9725,
},
build: {
reportCompressedSize: false,
sourcemap: viteEnv.VITE_SOURCE_MAP === 'Y',
commonjsOptions: {
ignoreTryCatch: false,
},
},
}
})