(14/24) css进阶:(入门)去除冗余的css

在平时的项目开发中,咱们会引入一些框架,好比:Bootstrap,可是在项目中一般咱们只使用它的一小部分,还有部分是冗余的。更有甚有时候需求更改,带来DOM结构的更改,这时候咱们可能无暇关注CSS样式,会形成不少冗余的CSS。咱们得想办法消除冗余的CSS,若是靠人工去剔除,吃力又容易出错,所以,此节咱们来学习一下用webpack如何消除未使用的CSScss

PurifyCSS
使用PurifyCSS能够大大减小CSS冗余,消除框架中未使用的CSS,初步达到按需引入的效果。html

1.如何在webpack中使用?

1.1 安装

安装PurifyCSS-webpack插件,PurifyCSS-webpack是依赖于purify-css这个包的,因此这两个都须要安装。这里采用npm安装(也可采用cnpm安装)node

npm i -D purifycss-webpack purify-css

-D:是–save-dev的一个简写。webpack

1.2 引入

(1)由于咱们须要同步检查html模板,因此咱们须要引入node的glob对象使用。在webpack.config.js文件头部引入glob。web

const glob = require('glob');

(2)引入purifycss-webpack
一样在webpack.config.js文件头部引入purifycss-webpacknpm

const PurifyCSSPlugin = require("purifycss-webpack");

1.3 配置plugins

引入完成后咱们须要在webpack.config.js里配置plugins。代码以下框架

plugins:[
    new extractTextPlugin("css/index.css"),
    new PurifyCSSPlugin({
        // Give paths to parse for rules. These should be absolute!
        paths: glob.sync(path.join(__dirname, 'src/*.html')),
        })
]

这里配置了一个paths,主要是需找html模板,purifycss根据这个配置会遍历你的文件,查找哪些css被使用了。学习

注意:使用这个插件必须配合extract-text-webpack-plugin这个插件且extract-text-webpack-plugin插件必须在purifycss-webpack以前引入,extract-text-webpack-plugin插件相关知识点前面已经说过了。ui

1.4 编写css代码

配置好上边的代码,咱们能够故意在src/css/index.css文件里写一些用不到的属性,好比:插件

#hello{
    background-color: #018eea;
    color: red;
    font-size: 32px;
    text-align: center;
}

1.5 打包

此处打包分为两种状况:一是使用了插件配置后的打包,另外一个是未使用插件配置的打包(删除或注释plugins中的PurifyCSSPlugin配置),主要是对比有无插件的打包状况。
使用webpack命令进行打包

webpack

结果1-----无插件样式都被打包了:

结果2:----有插件,多余样式没有被打包:

此节只是对如何使用这个插件作了简单的描述,更多其余的一些相关配置要求,需逐步深刻。有什么问题,欢迎留言!!

相关文章
相关标签/搜索