tree-shareking 是什么

  1. tree-shareking 是什么
    1. 简介
    2. tree-shareking原理

tree-shareking 是什么

简介

Tree-shaking 是 DCE(dead code elimination) 的一种新的实现

DCE 就是消除死代码,死代码的特点:

  • 代码不会被执行,如return后的代码
  • 代码执行,但不会被使用,如定义没使用的变量
  • 代码被使用,但只影响死代码 ?

ree-shaking 和传统的 DCE的方法又不太一样,传统的DCE 消灭不可能执行的代码,而Tree-shaking 更关注于消除没有用到的代码。

tree-shareking原理

利用ES6 模块的特点进行消除。因为ES6模块的依赖关系是确定的,可以进行可靠的静态分析。可以做到在打包阶段利用AST(抽象语法树)中删除死代码。

静态分析:是指在不运行代码的方式下,通过词法分析语法分析控制流数据流分析等技术对程序代码进行扫描,验证代码是否满足规范性、安全性、可靠性、可维护性等指标的一种代码分析技术。

面向过程编程函数和面向对象编程是javascript最常用的编程模式和代码组织方式,可以通过webpack测试一下

函数

图 7

预计del被消除,可以看到是没有了

class类

图 6

del没有被消除,说明作为类,tree-shareking没有消除未使用的方法,不够彻底

Webpack shaking

参考


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 1249118795@qq.com