webpack tree-shaking

Tree-Shaking是一种优化技术,用于移除JavaScript和CSS中未使用的代码。在开发环境中,通过webpack配置实现,如`usedExports: true`和`sideEffects`排除特定文件。生产环境默认开启。对于CSS,可以使用purifycss-webpack插件配合glob-all进行清理。该技术提高了代码的效率,减少了打包后的文件大小。
摘要由CSDN通过智能技术生成

过滤掉无用的JS代码和CSS代码, 我们称之为Tree-Shaking.

1、JS-Tree-Shaking

① 开发环境
webpack.config.js配置, 告诉webpack只打包导入模块中用到的内容:

  optimization: {
    usedExports: true,
  },

package.json配置, 告诉webpack哪些文件不做Tree-Shaking:

 "sideEffects": ["*.css", "*.less", "*.scss"],

② 生产环境
无需进行任何配置, webpack默认已经实现了Tree-Shaking
③ 注意点:

  • 只有ES Modle导入才支持Tree-Shaking
  • 任何导入的文件都会受到 tree shaking 的影响。

2、CSS-Tree-Shaking

https://github.com/webpack-contrib/purifycss-webpack

①  安装相关插件

npm i -D purifycss-webpack purify-css glob-all

② 配置插件

const glob = require('glob-all');
const PurifyCSSPlugin = require('purifycss-webpack');
new PurifyCSSPlugin({
    // 告诉PurifyCSSPlugin需要过滤哪些文件
    paths: glob.sync([
      path.join(__dirname, 'src/*.html'),
      path.join(__dirname, 'src/js/*.js'),
   ]),
}),
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值