- 1、本文档共24页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
webpack性能优化方案
王红元coderwhy
目录
1Babel命令行执行
content
2Babel的底层原理
3浏览器兼容性配置
4babel的配置文件
5babel和polyfill
6React和TS解析
coderwhy如何使用webpack性能优化?
◼webpack作为前端目前使用最广泛的打包工具,在面试中也是经常会被问到的。
◼比较常见的面试题包括:
可以配置哪些属性来进行webpack性能优化?
前端有哪些常见的性能优化?(问到前端性能优化时,除了其他常见的,也完全可以从webpack来回答)
◼webpack的性能优化较多,我们可以对其进行分类:
优化一:打包后的结果,上线时的性能优化。(比如分包处理、减小包体积、CDN服务器等)
优化二:优化打包速度,开发或者构建时优化打包速度。(比如exclude、cache-loader等)
◼大多数情况下,我们会更加侧重于优化一,这对于线上的产品影响更大。
◼在大多数情况下webpack都帮我们做好了该有的性能优化:
比如配置mode为production或者development时,默认webpack的配置信息;
但是我们也可以针对性的进行自己的项目优化;
◼接下来,我们来学习一下webpack性能优化的更多细节。
coderwhy性能优化-代码分离
◼代码分离(CodeSplitting)是webpack一个非常重要的特性:
它主要的目的是将代码分离到不同的bundle中,之后我们可以按需加载,或者并行加载这些文件;
比如默认情况下,所有的JavaScript代码(业务代码、第三方依赖、暂时没有用到的模块)在首页全部都加载,就会影响首页
的加载速度;
代码分离可以分出更小的bundle,以及控制资源加载优先级,提供代码的加载性能;
◼Webpack中常用的代码分离有三种:
入口起点:使用entry配置手动分离代码;
防止重复:使用EntryDependencies或者SplitChunksPlugin去重和分离代码;
动态导入:通过模块的内联函数调用来分离代码;
coderwhy多入口起点
◼入口起点的含义非常简单,就是配置多入口:
比如配置一个index.js和main.js的入口;
他们分别有自己的代码逻辑;
coderwhyEntryDependencies(入口依赖)
◼假如我们的index.js和main.js都依赖两个库:lodash、dayjs
如果我们单纯的进行入口分离,那么打包后的两个bunlde都有会有一份lodash和dayjs;
事实上我们可以对他们进行共享;
coderwhySplitChunks
◼另外一种分包的模式是splitChunk,它底层是使用SplitChunksPlugin来实现的:
因为该插件webpack已经默认安装和集成,所以我们并不需要单独安装和直接使用该插件;
只需要提供SplitChunksPlugin相关的配置信息即可;
◼Webpack提供了SplitChunksPlugin默认的配置,我们也可以手动来修改它的配置:
比如默认配置中,chunks仅仅针对于异步(async)请求,我们可以设置为initial或者all;
coderwhySplitChunks自定义配置解析
◼Chunks:
默认值是async
另一个值是initial,表示对通过的代码进行处理
您可能关注的文档
最近下载
- 2024年河北省继续医学教育公共必修课参考答案.pdf VIP
- 非遗文化遗产主题班会【优质公开课】精品PPT课件模板.pptx
- 2024版压力容器设计审核人员机考题库(综合题).pdf
- 古诗词诵读《涉江采芙蓉》课件(共32张PPT)统编版高中语文必修上册.pptx VIP
- 网课章节答案《戏曲鉴赏》超星尔雅答案2023.pdf
- 11J508 建筑玻璃应用构造-栏板 隔断 地板 吊顶 水下玻璃 挡烟垂壁.pdf
- 三年级数学期末复习计划表.doc
- 建筑工程图集 G410-1~2:1.5m×6.0m预应力混凝土屋面板(2004年合订本).pdf VIP
- 6.1 友谊的真谛(课件)七年级道德与法治上册课件(统编版2024).pptx
- 雨课堂《研究生的压力应对与健康心理》期末考试参考答案.pdf
文档评论(0)