为什么要代码分割
日常我们会通过 webpack 打包我们的应用,产生一个 bundle.js 文件。随着我们的项目越写越复杂,bundle.js 文件会随之增大。 由于该文件是唯一的,所以不管用户查看哪个页面、使用哪个功能,都必须先下载所有的功能代码。 当 bundle.js 大到一定程度,就会明显影响用户体验。此时,我们就需要 code splitting ,将代码分片,实现按需异步加载,从而优化应用的性能。
人生已如此艰难,就不要再拆穿了
React Router 是一个基于 React 之上的强大路由库,它可以让你向应用中快速地添加视图和数据流,同时保持页面与 URL 间的同步。
通过对浏览器内置的History及API进行封装,使操作history更统一(Hash,H5 API等
)、方便切换。
The history library is a lightweight layer over browsers’ built-in History and Location APIs. The goal is not to provide a full implementation of these APIs, but rather to make it easy for users to opt-in to different methods of navigation.