treeShaking和sideEffects详解

2020-08-05  本文已影响0人  24K纯帅豆

什么是treeShaking?

treeShaking有什么用?

和传统DCE(Dead Code Elimination)有什么区别?

Dead Code的特征:

在JS中是什么在做DCE?

首先肯定不是浏览器做DCE,因为当我们的代码送到浏览器,那还谈什么消除无法执行的代码来优化呢,所以肯定是送到浏览器之前的步骤进行优化。传统DCE使用到的是代码压缩优化工具uglify来完成的;而treeShaking则是通过webpack来完成的;

什么是sideEffects?

其主要功能是让 webpack 去除 treeShaking 带来副作用的代码。怎么去理解这个副作用呢?副作用可以理解成某个模块执行时除了导出成员之外所作的事情,比如我们修改了window上的属性,或者提供某个polyfill;如果没有这些副作用的话那么webpack就会清除没有用的代码,也就是上面说的treeShaking。

sideEffects写法?

上一篇 下一篇

猜你喜欢

热点阅读