webpack4 css tree-shaking

简介: webpack4 css tree-shaking

css  tree shaking 是一个术语,通俗点就是移除项目中我们没有用到css代码,减小css的打包体积。

需要3个插件PurifyCSS,glob-all,purifycss-webpack。

(1)PurifyCSS 将帮助我们进行 CSS Tree Shaking 操作。为了能准确指明要进行 Tree Shaking 的 CSS 文件。

(2)glob-all 的作用就是帮助 PurifyCSS 进行路径处理,定位要做 Tree Shaking 的路径文件。使用purifycss的时候要用到glob.sync方法.

安装依赖

npm i  purify-css purifycss-webpack glob-all --save-dev

css 的Tree Shaking实际上是对打包后的文件进行Tree Shaking,也就是说我们要处理的实际上是打包后的文件。假如我们打包后的文件目录如下:


image.png

打包后的dist文件目录.png


那么我们要处理的也就是dist文件夹下的文件(一定要处理里面涉及到的css的所有文件,也就是本案例里的.html, .js .css类型文件)

webpack.config.js配置如下:

const MiniCssExtractPlugin = require("mini-css-extract-plugin") 
const PurifyCSS = require("purifycss-webpack");
const glob = require("glob-all");
plugins:[
        new MiniCssExtractPlugin({
            filename: isDev ? '[name].css' : 'static/css/[name].[chunkhash:8].css',
        }),
        new PurifyCSS({
            paths: glob.sync([
                path.join(__dirname,'./dist/*.html'),
                path.join(__dirname,'./dist/static/css/*.css'),//目录太深可以用匹配符'./dist/**/*.css'
                path.join(__dirname,'./dist/static/js/*.js')//目录太深可以用匹配符'./dist/**/*.js'
            ])
        }),
    ]

注意点:

1、new PurifyCSS一定要在new MiniCssExtractPlugin后。

2、要处理的文件路径一定要对。

3、正确处理文件,一定要处理所有的涉及到css的文件。(本案例里只有.html, .js .css这3种类型会涉及到css样式,如果你的项目里有其他文件类型,请自行添加)。

关于path.join可以参考:https://www.jianshu.com/p/dd3bfaf7d0ad


相关文章
|
9月前
|
前端开发 JavaScript
webpack成长指北第7章---webpack的css\less\scss样式打包
webpack成长指北第7章---webpack的css\less\scss样式打包
115 0
|
9月前
|
前端开发 JavaScript
webpack成长指北第8章---webpack的CSS Modules打包
webpack成长指北第8章---webpack的CSS Modules打包
99 0
|
3月前
|
前端开发
在Webpack配置文件中,如何配置loader以处理其他类型的文件,如CSS或图片
在Webpack配置文件中,通过设置`module.rules`来配置loader处理不同类型的文件。例如,使用`css-loader`和`style-loader`处理CSS文件,使用`file-loader`或`url-loader`处理图片等资源文件。配置示例:在`rules`数组中添加对应规则,指定`test`匹配文件类型,`use`指定使用的loader。
|
4月前
|
前端开发 UED
Webpack 中处理 CSS 和图片资源的多 Loader 配置
【10月更文挑战第12天】 处理 CSS 和图片资源是 Webpack 配置中的重要部分。通过合理选择和配置多个 Loader,可以实现对这些资源的精细处理和优化,提升项目的性能和用户体验。在实际应用中,需要不断探索和实践,根据项目的具体情况进行灵活调整和优化,以达到最佳的处理效果。通过对 Webpack 中多 Loader 处理 CSS 和图片资源的深入了解和掌握,你将能够更好地应对各种复杂的资源处理需求,为项目的成功构建和运行提供坚实的基础。
114 1
|
9月前
|
Web App开发 JSON 前端开发
Webpack【搭建Webpack环境、Webpack增加配置文件、Webpack中使用Loader、Webpack分离CSS文件 】(一)-全面详解(学习总结---从入门到深化)
Webpack【搭建Webpack环境、Webpack增加配置文件、Webpack中使用Loader、Webpack分离CSS文件 】(一)-全面详解(学习总结---从入门到深化)
285 0
|
9月前
|
Web App开发 前端开发 JavaScript
Webpack【搭建Webpack环境、Webpack增加配置文件、Webpack中使用Loader、Webpack分离CSS文件 】(一)-全面详解(学习总结---从入门到深化)(下)
Webpack【搭建Webpack环境、Webpack增加配置文件、Webpack中使用Loader、Webpack分离CSS文件 】(一)-全面详解(学习总结---从入门到深化)
82 0
|
9月前
|
缓存 前端开发 JavaScript
《Webpack5 核心原理与应用实践》学习笔记->处理CSS
《Webpack5 核心原理与应用实践》学习笔记->处理CSS
66 0
|
JavaScript 前端开发 API
Vue+Webpack+css预处理开发单页应用
Vue+Webpack+css预处理开发单页应用
115 0
Vue+Webpack+css预处理开发单页应用
|
前端开发 JavaScript
Vue--webpack打包css、image资源
Vue--webpack打包css、image资源
|
前端开发 JavaScript
Webpack的基本使用,将html和css文件打包
Webpack的基本使用,将html和css文件打包