摇树js
Tree-shaking的本质是消除没有用到的代码。主要的效果是,引用了但没有使用的模块,不会被打包到最终的bundle中。
Tree-shaking要求模块是ESM,ES6模块依赖关系是确定的,和运行时的状态无关,可以进行可靠的静态分析,这就是tree-shaking的基础。
所谓静态分析就是不运行代码,从语法上对代码进行分析,ES6之前的模块化,比如我们可以动态require一个模块,只有执行后才知道是否要引用某个模块,引用的是什么模块,这个就不能通过静态分析去做优化。
webpack默认支持Tree-shaking,如果mode为"production"webpack在构建会做Tree-shaking的操作。
摇树css
摇树css的基本思路是,给定content和css,分析content中用到的选择器,然后分析css文件中没有用到的选择器,将其移除。
摇树css工具有:
1、PurifyCSS
使用purgecss-webpack-plugin
2、uncss
面试:webpack的tree-shaking
于 2023-05-29 15:38:45 首次发布