webpack dll 一些坑

前置条件:首先项目是异步加载(lazyload)的假如项目总大小为2M,那么chunks:"initial"的大小为500K左右;问题如果我导出dll的包,正常配置的话,引入是在入口处html里直接引用的,那它是否能异步加载?如果能,dll中引入了异步代码是否会增加初始代码的量?如果不能异步那么dll的加载的代码量就比较小,即使将初始代码500K全部转为dll,相对于2M的大小,webpack增加的编译速度也很小;还有我的部分代码是按需加载的,dll是否能够起效?总结:在异步加载的项目中,dll能够起的作用?他是否能导出引入异步的,按需引入的模块?
慕神8447489
浏览 1052回答 2
2回答

森林海

我尝试着解释一下:dll和懒加载好像没什么关系dll和打包后包的大小好像也没什么关系dll是干什么的呢?1、dll是把不经常改变的第三方包(例如vue,vuex,jquery,axios等等)打包在一起,然后只要这里的第三方包版本不更新,以后的webpack打包就直接跳过这些,也就是说dll可以提高webpack的打包速度2、第三方包打包在一起了,项目的公共包的体积自然就会减小,当用户首次加载页面是,dll包就会进入用户的缓存中,以后你再更新项目,当dll包不变的时候,用户打开首页加载的共公包就会减小,首页打开会快一点,也就是说dll可以减少公共包的大小,利用用户的缓存,提高首页加载速度我对dll的了解就这么多,希望能能对你有所帮助
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript