复习webpack4之打包分析,Preloading,Prefetching
栏目: JavaScript · 发布时间: 5年前
内容简介:之前学习过webpack3的知识,但是webpack4升级后还是有很多变动的,所以这次重新整理一下webpack4的知识点,方便以后复习。这次学习webpack4不仅仅要会配置,记住核心API,最好还要理解一下webpack更深层次的知识,比如打包原理等等,所以可能会省略一些比较基础的内容,但是希望我可以通过此次学习掌握webpack,更好地应对以后的工作。根据官方文档,我们可以使用命令行配置webpack --profile --json > stats.json,把打包过程的描述生成到stats.jso
之前学习过webpack3的知识,但是webpack4升级后还是有很多变动的,所以这次重新整理一下webpack4的知识点,方便以后复习。
这次学习webpack4不仅仅要会配置,记住核心API,最好还要理解一下webpack更深层次的知识,比如打包原理等等,所以可能会省略一些比较基础的内容,但是希望我可以通过此次学习掌握webpack,更好地应对以后的工作。
1.打包分析
根据官方文档,我们可以使用命令行配置webpack --profile --json > stats.json,把打包过程的描述生成到stats.json中。
然后进行一次打包。打包完成后,我们会发现目录下多了一个stats.json,这个文件就是对打包过程的描述,如果我们看描述文件去分析打包流程会比较麻烦,所以我们要借助一些 工具 来分析。
进入到http://webpack.github.com/analyse,上传刚刚生成的json文件。
会出现图示中的信息,显示了webpack版本是4.30.0,打包耗时20702毫秒,hash值,以及引用了46个modules,生成了2个chunk,生成了5个静态文件,没有警告和异常。
点击modules,还可以看到包之间的关系。
除了这个工具,文档中还提供了几个其他的工具。
如果需要使用的话,就可以看对应文档,进行使用。
2.Preloading, Prefetching
这里介绍一下谷歌浏览器Coverage工具
从这个工具中可以看到我们页面js的使用率,而使用异步引入js的方式可以提高js的使用率,所以webpack建议我们多使用异步引入的方式,这也是splitChunks.chunks的默认值是"async"的原因。
但是异步引入代码时也可能存在问题,比如用户点击一个按钮,弹出登录框,我们在点击之后加载登录框的js,可能会让这个点击行为反应变慢,那么如何解决这个问题呢?
使用魔法注释 /* webpackPrefetch: true */ ,这样在主要js加载完,带宽有空闲时,会自动下载需要引入的js。
还可以写成/* webpackPreload: true */,区别是webpackPrefetch会等到主业务文件加载完,带宽有空闲时再去下载js,而preload是和主业务文件一起加载的。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
加密与解密(第4版)
段钢 / 电子工业出版社 / 2018-10-1 / 198
《加密与解密(第4版)》以加密与解密为切入点,讲述了软件安全领域的基础知识和技能,如调试技能、逆向分析、加密保护、外壳开发、虚拟机设计等。这些知识彼此联系,读者在掌握这些内容之后,很容易就能在漏洞分析、安全编程、病毒分析、软件保护等领域进行扩展。从就业的角度来说,掌握加密与解密的相关技术,可以提高自身的竞争能力;从个人成长的角度来说,研究软件安全技术有助于掌握一些系统底层知识,是提升职业技能的重要......一起来看看 《加密与解密(第4版)》 这本书的介绍吧!