Skip to content

你以为的 treeshaking 可能不是你以为的 treeshaking

一个ui库的打包过程避免少不了treeshaking的内容,因为对于全局引入,组件库本身越大shake的优势越明显,

最近看了antdv,naiveui,nutui的实现,当前的基本上就两种:

  • 基于插件的导入转换,比如antdv
  • 基于 package.json的sideEffects=false

至于打包方式的话, webpack,rollup,不打包(naiveui),vite的lib模式打包(nutui,treeshaking效果特别不好)

当前即使到了webpack5,对于esm的打包支持依然不好。

关于treeshaking的一篇很不错的文章:

链接