PurgeCSS中文文档网PurgeCSS中文文档网
首页
文档
API参考
GitHub
首页
文档
API参考
GitHub
  • PurgeCSS

    • 关于PurgeCSS
    • 快速开始
    • 配置
    • 命令行接口
    • 编程API
    • 安全列表
    • 提取器
  • 插件

    • PostCSS插件
    • Webpack插件
    • Gulp插件
    • Grunt插件
    • Gatsby插件
  • 指南

    • Vue
    • React
    • Next.js
    • Nuxt.js
    • Razzle
    • WordPress
    • Hugo
  • 比较
  • 常见问题

    • 如何与CSS模块一起使用
    • 如何与Ant Design一起使用

Grunt

安装

npm install grunt-purgecss --save-dev

插件安装完成后,可以在你的 Gruntfile 中通过以下 JavaScript 代码启用:

grunt.loadNpmTasks('grunt-purgecss');

"purgecss" 任务

概述

在项目的 Gruntfile 中,在传递给 grunt.initConfig() 的数据对象中添加一个名为 purgecss 的部分。

grunt.initConfig({
    // 要运行(然后测试)的配置
    purgecss: {
      my_target: {
        options: {
          content: ['./src/**/*.html']
        },
        files: {
          'dist/app.css': ['src/css/app.css']
        }
      }
    }
  });

选项

所有 PurgeCSS 的选项都可以与插件一起使用。 下面是主要可用选项。完整列表请访问 Purgecss 文档网站。

options.content

类型:string | Object

你可以指定 Purgecss 应该分析的内容,使用文件名或通配符的数组。文件可以是 HTML、Pug、Blade 等。

options.extractors

类型:Array<Object>

Purgecss 可以根据你的需求进行调整。如果你注意到很多未使用的 CSS 没有被删除,你可能需要使用自定义提取器。 关于提取器的更多信息请看这里。

options.safelist

你可以指示哪些选择器在最终的 CSS 中是安全的。这可以通过 safelist 选项来实现。

有两种形式可用:

safelist: ['random', 'yep', 'button', /^nav-/]

在这种形式中,safelist 是一个可以接受字符串或正则表达式的数组。

复杂 形式是:

safelist: {
    standard: ['random', 'yep', 'button', /^nav-/],
    deep: [],
    greedy: [],
    keyframes: [],
    variables: []
}

options.keyframes

类型:boolean 默认值:false

如果你使用 CSS 动画库(如 animate.css),可以通过将 keyframes 选项设置为 true 来删除未使用的关键帧。

options.fontFace

类型:boolean 默认值:false

如果 CSS 中有任何未使用的 @font-face 规则,可以通过将 fontFace 选项设置为 true 来删除它们。

示例

下面的示例使用了所有主要可用选项。

grunt.initConfig({
    // 要运行(然后测试)的配置
    purgecss: {
      my_target: {
        options: {
          content: ['./src/**/*.html', `src/**/*.js`, 'src/**/*.blade', 'src/**/*.vue'],
          extractors: {
            extractor: class {
                static extract(content) {
                    content.match(/a-Z/) || []
                }
            },
            extension: ['html', 'blade']
          },
          safelist: ['random', 'yep', 'button', /red$/],
          keyframes: true,
          fontFace: true
        },
        files: {
          'dist/app.css': ['src/css/app.css']
        }
      }
    }
  });
Edit this page
Prev
Gulp插件
Next
Gatsby插件