决定在哪引入代码分割需要一些技巧。需要确保选择的位置能够均匀地分割代码包而不会影响用户体验。
    一个不错的选择是路由。大多数网络用户习惯于页面之间能有个加载切换过程。可以选择重新渲染整个页面,这样就不必在渲染的同时再和页面上的其他元素进行交互。
    下面的例子演示了使用 React.lazy 和 React Router 这类的第三方库,来配置基于路由的代码分割。

    1. import { BrowserRouter as Router, Route, Switch } from 'react-router-dom';
    2. import React, { Suspense, lazy } from 'react';
    3. const Home = lazy(() => import('./routes/Home'));
    4. const About = lazy(() => import('./routes/About'));
    5. const App = () => (
    6. <Router>
    7. <Suspense fallback={<div>Loading...</div>}>
    8. <Switch>
    9. <Route exact path="/" component={Home}/>
    10. <Route path="/about" component={About}/>
    11. </Switch>
    12. </Suspense>
    13. </Router>
    14. );