![前端性能揭秘](https://wfqqreader-1252317822.image.myqcloud.com/cover/216/46418216/b_46418216.jpg)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
动态import
在上面的例子中,其实Modal组件相关的逻辑在首屏是完全不需要的,可以使用动态import的方式来引入Modal组件的逻辑,仅在点击Button组件后才加载相关的模块。
![](https://epubservercos.yuewen.com/D9D9AD/25638844509204006/epubprivate/OEBPS/Images/txt002_22.jpg?sign=1739296363-3E0ighnEmB54FLZ9RUVNSxYfsmIQltia-0-9a15147b2545d05820f0df189efb3777)
重新构建后文件的体积进一步下降,JavaScript文件的体积减小了20KB,CSS文件的体积减小了4KB,如图1-14所示。
![](https://epubservercos.yuewen.com/D9D9AD/25638844509204006/epubprivate/OEBPS/Images/txt002_23.jpg?sign=1739296363-UPKnr0NPzbTI19Zgnvucv94CTk9mjf6z-0-55ba730b85ea96783e5836c456918b74)
图1-14 动态import
动态import本身其实并不减小文件的体积,背后实现这一点的是Vite的Code Splitting(代码分割)。使用Code Splitting可以将代码分割成多个文件,并且可以在需要的时候再加载,而动态import则可以告诉构建工具代码分割的分割点在哪里。
关于Code Splitting的具体内容请参考17.2节。