PurgeCSS
TIP
配置作用:在 vue 项目中使用,删除未使用的 CSS 代码,达到减少项目打包压缩的作用
在提高 web 性能的方法中,可以通过移除不需要的 js 和 css 达到性能提高。 PurgeCSS 是一个用来删除未使用的 CSS 代码的工具 PurgeCSS
安装项目依赖
vue add @fullhuman/purgecss
安装成功后会在项目创建postcss.config.js
文件
postcss.config.js 文件修改
- content 字段,来告诉 PurgeCSS 去哪里查找将要对应匹配的 class
- whitelist 对于一些你不想要移除的 class 或者某些标签上对应的样式名称,你可以它们加到白名单字段中。你至少需要添加 html 和 body 标签以及任意的动态 class 样式名称到白名单配置字段中
const IN_PRODUCTION = process.env.NODE_ENV === 'production'
module.exports = {
plugins: [
IN_PRODUCTION &&
require('@fullhuman/postcss-purgecss')({
content: [
`./public/**/*.html`,
`./src/**/*.vue`,
`./layouts/**/*.vue`,
`./components/**/*.vue`,
`./pages/**/*.vue`
],
whitelist: ['html', 'body'],
defaultExtractor(content) {
const contentWithoutStyleBlocks = content.replace(
/<style[^]+?<\/style>/gi,
''
)
return (
contentWithoutStyleBlocks.match(
/[A-Za-z0-9-_/:]*[A-Za-z0-9-_/]+/g
) || []
)
},
safelist: [
/-(leave|enter|appear)(|-(to|from|active))$/,
/^(?!(|.*?:)cursor-move).+-move$/,
/^router-link(|-exact)-active$/,
/data-v-.*/
]
})
]
}