App.tsx 1.7 KB

12345678910111213141516171819202122232425262728293031
  1. import { lazy, Suspense } from 'react'
  2. import { Routes, Route } from 'react-router-dom'
  3. import { Layout } from './components/layout/Layout'
  4. const Dashboard = lazy(() => import('./pages/Dashboard').then(m => ({ default: m.Dashboard })))
  5. const Models = lazy(() => import('./pages/Models').then(m => ({ default: m.Models })))
  6. const Datasets = lazy(() => import('./pages/Datasets').then(m => ({ default: m.Datasets })))
  7. const Training = lazy(() => import('./pages/Training').then(m => ({ default: m.Training })))
  8. const Evaluation = lazy(() => import('./pages/Evaluation').then(m => ({ default: m.Evaluation })))
  9. const Deployment = lazy(() => import('./pages/Deployment').then(m => ({ default: m.Deployment })))
  10. const Inference = lazy(() => import('./pages/Inference').then(m => ({ default: m.Inference })))
  11. function PageFallback() {
  12. return <div style={{ padding: 24, color: '#999' }}>加载中...</div>
  13. }
  14. export default function App() {
  15. return (
  16. <Layout>
  17. <Routes>
  18. <Route path="/" element={<Suspense fallback={<PageFallback />}><Dashboard /></Suspense>} />
  19. <Route path="/models" element={<Suspense fallback={<PageFallback />}><Models /></Suspense>} />
  20. <Route path="/datasets" element={<Suspense fallback={<PageFallback />}><Datasets /></Suspense>} />
  21. <Route path="/training" element={<Suspense fallback={<PageFallback />}><Training /></Suspense>} />
  22. <Route path="/evaluation" element={<Suspense fallback={<PageFallback />}><Evaluation /></Suspense>} />
  23. <Route path="/deployment" element={<Suspense fallback={<PageFallback />}><Deployment /></Suspense>} />
  24. <Route path="/inference" element={<Suspense fallback={<PageFallback />}><Inference /></Suspense>} />
  25. </Routes>
  26. </Layout>
  27. )
  28. }