浅谈webpack中的treeshking

用es6 静态引入

webpack.config.js

optimization:{
        usedExports:true
    }

package.json

"sideEffects":false

剔除不需要treeShaking的文件
比如

"sideEffects":['@babel/polyfill','*.css']

treeshking是减小打包的bundle size很重要的一个手段,但触发treeshking是有条件的,首先需要代码是es module规范的并且使用解构赋值的方式引入,第二要开启optimization.usedExports来标记使用和未使用的模块,第三是使用压缩的插件进行删除未使用代码。 webpack4的mode设置为production之后,我们只需要关心第一点就好了。

treeshking是有限制的,副作用的代码不能treeshking,只能对export进行treeshking。

posted @ 2021-03-03 14:00  祈粼  阅读(112)  评论(0编辑  收藏  举报