今天在刷 GITHUB 的时候无意间发现 react-async-router 这一个项目,我意识到原来组建也可以按需加载。
我之前写的项目都是直接合并到一个文件,
若碰到一个较复杂的应用合并到一个文件会很大,
加载很长时间影响用户体验。
按需加载可以很好的解决这一个问题,
我一口气就把它给 clone 下来,阅读其代码,
然后找了个之前写的项目,添加 bundle-loader (yarn add bundle-loader
),
随手写了一个高阶组件 AsyncLoader
。
然后更改路由组件 import
的方法
重新 build 一下 发现多了好多 chunk
文件,浏览器看一下,果然是按需加载。