- 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,表示对通过的代码进行处理
您可能关注的文档
- mycat数据库中间件.pptx
- NB技术实践开发-IoT课程介绍.pptx
- NextVault 操作手册培训 .doc
- NHD 脱硫-甲醇合成法年产 4.5 万吨甲硫醇项目设计-典型设备设计说明书 (2).pdf
- Node服务器高级开发_MySQL数据库.pdf
- Node服务器高级开发_Node服务器-express框架.pdf
- Node服务器高级开发_Node服务器-koa框架.pdf
- Node服务器高级开发_Node项目实战-coderhub.pdf
- Node服务器高级开发课程_MySQL数据库.pdf
- Node服务器高级开发课程_Node服务器-express框架.pdf
- 2025年实验室安全系统考试考试彩蛋押题附参考答案详解(培优A卷).docx
- 2025年实验室安全系统考试考试综合练习及答案详解(夺冠).docx
- 2025年实验室安全系统考试考试彩蛋押题附答案详解(基础题).docx
- 2025年实验室安全系统考试考试彩蛋押题及完整答案详解(考点梳理).docx
- 2025年实验室安全系统考试考试历年机考真题集(能力提升)附答案详解.docx
- 2025年实验室安全系统考试考试彩蛋押题及参考答案详解(实用).docx
- 2025年实验室安全系统考试考试彩蛋押题含完整答案详解【名校卷】.docx
- 2025年实验室安全系统考试考试彩蛋押题【全国通用】附答案详解.docx
- 佳木斯xx生产线建设项目招商引资报告(参考范文).docx
- 2025年实验室安全系统考试考试彩蛋押题附参考答案详解(名师推荐).docx
最近下载
- 整点报时数字钟设计.docx VIP
- 三年高考真题(2022-2024)分类汇编 物理 专题31电磁感应 电路和动力学 含解析.docx VIP
- 2025年商业银行移动金融行业洞察报告及未来五至十年发展趋势预测报告.docx
- GB 50015-2019 建筑给水排水设计标准.docx VIP
- 《GB 10816-2008紫砂陶器国家标准》.pdf
- GB/T 10816-1989紫砂陶器.pdf
- (完整版)技能考试调饮师精选试题及答案.docx VIP
- GB50015-2019建筑给水排水设计标准.doc VIP
- GB 50015-2019 建筑给水排水设计标准.docx
- 村庄规划调研提纲.doc VIP
文档评论(0)