npm install @fullhuman/postcss-purgecss
const purgecss = require('@fullhuman/postcss-purgecss')({
content: ['./src/**/*.html', './src/**/*.js'],
safelist: ['body', 'html']
})
module.exports = {
plugins: [
purgecss
]
}
const purgecss = require('@fullhuman/postcss-purgecss')({
content: ['./src/**/*.html', './src/**/*.js'],
safelist: ['body', 'html']
})
module.exports = {
module: {
rules: [
{
test: /\.css$/,
use: [
'style-loader',
'css-loader',
{
loader: 'postcss-loader',
options: {
plugins: () => [purgecss]
}
}
]
}
]
}
}
- 类型:
string[] | { raw: string, extension: string }[]
- 描述:包含要分析的文件路径或内容的数组。
- 类型:
string[] | { standard?: string[], deep?: string[], greedy?: string[] }
- 描述:要保留的选择器列表。
- 类型:
Array<{ extractor: Function, extensions: string[] }>
- 描述:自定义提取器,用于从特定文件类型中提取选择器。
- 类型:
boolean
- 默认值:
false
- 描述:是否删除未使用的关键帧。
- 类型:
boolean
- 默认值:
false
- 描述:是否删除未使用的字体。
const purgecss = require('@fullhuman/postcss-purgecss')({
content: [
'./src/**/*.html',
'./src/**/*.js',
'./src/**/*.vue'
],
safelist: {
standard: ['body', 'html', /^nav-/],
deep: [/^dropdown-/],
greedy: [/^bg-/]
},
extractors: [
{
extractor: (content) => content.match(/[A-Za-z0-9-_:/]+/g) || [],
extensions: ['html', 'vue', 'js']
}
],
keyframes: true,
fontFace: true
})