feat: implement lazy loading for routes and add a loading component in App.tsx; configure manual chunks in Vite for optimized builds
This commit is contained in:
@@ -25,6 +25,61 @@ export default defineConfig({
|
||||
build: {
|
||||
outDir: 'dist',
|
||||
sourcemap: false, // Disable source maps in production for security
|
||||
rollupOptions: {
|
||||
output: {
|
||||
manualChunks: {
|
||||
// React core
|
||||
'react': ['react', 'react-dom', 'react-router'],
|
||||
|
||||
// UI library - Radix UI components
|
||||
'radix-ui': [
|
||||
'@radix-ui/react-avatar',
|
||||
'@radix-ui/react-checkbox',
|
||||
'@radix-ui/react-context-menu',
|
||||
'@radix-ui/react-dialog',
|
||||
'@radix-ui/react-dropdown-menu',
|
||||
'@radix-ui/react-label',
|
||||
'@radix-ui/react-popover',
|
||||
'@radix-ui/react-progress',
|
||||
'@radix-ui/react-scroll-area',
|
||||
'@radix-ui/react-select',
|
||||
'@radix-ui/react-separator',
|
||||
'@radix-ui/react-slider',
|
||||
'@radix-ui/react-slot',
|
||||
'@radix-ui/react-switch',
|
||||
'@radix-ui/react-tabs',
|
||||
'@radix-ui/react-tooltip',
|
||||
],
|
||||
|
||||
// Drag and drop
|
||||
'dnd-kit': [
|
||||
'@dnd-kit/core',
|
||||
'@dnd-kit/sortable',
|
||||
'@dnd-kit/utilities',
|
||||
],
|
||||
|
||||
// Utilities
|
||||
'utils': [
|
||||
'clsx',
|
||||
'tailwind-merge',
|
||||
'class-variance-authority',
|
||||
'date-fns',
|
||||
],
|
||||
|
||||
// Other libraries
|
||||
'misc': [
|
||||
'recharts',
|
||||
'socket.io-client',
|
||||
'sonner',
|
||||
'next-themes',
|
||||
'cmdk',
|
||||
'react-day-picker',
|
||||
'@number-flow/react',
|
||||
'lucide-react',
|
||||
],
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
// Preview server configuration (for testing built version)
|
||||
preview: {
|
||||
|
||||
Reference in New Issue
Block a user