会导致 document.title没有成功被设置导致出现bug 。
副作用出现原因
那有同学说了 , 不在项目中写带有副作用代码不就完了嘛?
只是难以预料的是 , 副作用代码很可能在编译阶段产生 。
举个例子:
与此同时 , 如果我在第三个文件中注释掉 return Greet 之后 , Terser 可以成功删除 。
为什么呢?这是因为 return Greet 之后相当于给greet 变量赋值 。 而这个值在其他处有可能被修改 。
而Terser(压缩代码工具) , 不能有效分析变量后续是否被引用、修改 。
因此 Terser 不清楚以上代码是否产生副作用 , 故而保留 。
总结
1. Tree Shaking 用于减小文件体积 , 其工作流程是先标记 , 后删除
2. 代码必须遵循 ES module 规范
3. 删除代码失灵很可能因出现副作用代码导致
预告:下一篇着重介绍Tree Shaking 的实践中遇到的问题以及解决办法 。
予人玫瑰 , 手有余香 , 如果您觉得内容不错 , 希望可以点赞关注 , 从而帮助到更多的人 。
- 删除|基本不赚钱了!天玑1200旗舰清仓,12+256G来到1799
- |浏览非法网站的危害到底有多大,你以为偷偷删除记录就没事了?
- 删除|这么内卷,该如何找工作
- 删除|称之为iQOO 迄今为止最贵的工艺,“芳纶纤维”到底是个啥?
- 微信可以批量删除好友了,一键清理僵尸粉,这也太舒服了
- B站被曝涉嫌抄袭UP主虚拟形象 维权视频还遭删除
- 微信拉黑与删除究竟有什么区别?我也是刚知道,以后别再乱用了
- saas|马化腾没开玩笑!微信朋友圈有“4不晒”:已经晒了的要抓紧删除!
- 冬奥会|谷爱凌最想删除的视频画面曝光!网友点赞:与生俱来的自信
- 劳斯莱斯|三星请网红痞幼做宣传被网友质疑,后删除预热视频