perf(web): разбиение бандла и runtime-оптимизации
- autoCodeSplitting роутов: начальный JS 1012КБ/298гз → 426КБ/131гз (−58%), админ-чанки грузятся по требованию - фильтры грида: убрана искусственная задержка 200мс - SystemMonitorPopover: поллинг 4 запросов/30с только при открытом поповере - /me в beforeLoad через ensureQueryData (кэш вместо запроса на каждую навигацию) - глобальный staleTime 30с (мутации инвалидируют кэш явно) - режим analyze + rollup-plugin-visualizer (pnpm --filter web analyze)
This commit is contained in:
+11
-3
@@ -3,12 +3,20 @@ import { defineConfig } from 'vite'
|
||||
import react from '@vitejs/plugin-react'
|
||||
import tailwindcss from '@tailwindcss/vite'
|
||||
import { TanStackRouterVite } from '@tanstack/router-vite-plugin'
|
||||
import { visualizer } from 'rollup-plugin-visualizer'
|
||||
|
||||
export default defineConfig({
|
||||
export default defineConfig(({ mode }) => ({
|
||||
plugins: [
|
||||
TanStackRouterVite({ routesDirectory: './src/routes' }),
|
||||
TanStackRouterVite({
|
||||
routesDirectory: './src/routes',
|
||||
autoCodeSplitting: true,
|
||||
}),
|
||||
react(),
|
||||
tailwindcss(),
|
||||
// pnpm --filter web analyze → dist/stats.html
|
||||
...(mode === 'analyze'
|
||||
? [visualizer({ filename: 'dist/stats.html', gzipSize: true })]
|
||||
: []),
|
||||
],
|
||||
resolve: {
|
||||
alias: {
|
||||
@@ -32,4 +40,4 @@ export default defineConfig({
|
||||
'/oauth': 'http://localhost:8080',
|
||||
},
|
||||
},
|
||||
})
|
||||
}))
|
||||
|
||||
Reference in New Issue
Block a user