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一起使用

Razzle

本示例展示如何在 create-razzle-app 模板中设置 PurgeCSS。

安装

1. 安装包

使用 npx create-razzle-app my-app 初始化项目后,安装 PurgeCSS 插件:

:::: code-group ::: code-group-item NPM

npm i --save-dev razzle-plugin-purgecss

::: ::: code-group-item YARN

yarn add --dev razzle-plugin-purgecss

::: ::::

2. 编辑 razzle.config.js

// razzle.config.js
const path = require('path');

module.exports = {
  plugins: [
    {
      name: 'purgecss',
      options: {
        // 此路径选项对于 PurgeCSS 分析所有内容是必需的
        path: path.resolve(__dirname, 'src/**/*'),
      }
    }
  ],
};

选项

  • only

    你可以使用 only 选项指定 PurgeCSS 的入口点:

    // razzle.config.js
    const path = require('path');
    
    module.exports = {
      plugins: [
        {
          name: 'purgecss',
          options: {
            path: path.resolve(__dirname, 'src/**/*'),
            only: ['bundle', 'vendor'],
          }
        }
      ],
    };
    
  • whitelist(默认:[])

    你可以将选择器列入白名单,以阻止 PurgeCSS 从 CSS 中删除它们。这可以通过 whitelist 和 whitelistPatterns 选项来实现。

    // razzle.config.js
    const path = require('path');
    
    module.exports = {
      plugins: [
        {
          name: 'purgecss',
          options: {
            path: path.resolve(__dirname, 'src/**/*'),
            whitelist: ['random', 'yep', 'button'],
          }
        }
      ],
    };
    
  • whitelistPatterns(默认:[])

    你可以使用 whitelistPatterns 根据正则表达式将选择器列入白名单。

    // razzle.config.js
    const path = require('path');
    
    module.exports = {
      plugins: [
        {
          name: 'purgecss',
          options: {
            path: path.resolve(__dirname, 'src/**/*'),
            whitelistPatterns: [/red$/],
          }
        }
      ],
    };
    
  • keyframes(默认:false)

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

    // razzle.config.js
    const path = require('path');
    
    module.exports = {
      plugins: [
        {
          name: 'purgecss',
          options: {
            path: path.resolve(__dirname, 'src/**/*'),
            keyframes: true
          }
        }
      ],
    };
    
  • fontFace(默认:false)

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

    // razzle.config.js
    const path = require('path');
    
    module.exports = {
      plugins: [
        {
          name: 'purgecss',
          options: {
            path: path.resolve(__dirname, 'src/**/*'),
            fontFace: true,
          }
        }
      ],
    };
    
  • rejected(默认:false)

    有时扫描已删除列表以查看是否有明显错误的地方会更实际。如果你想这样做,请使用 rejected 选项。

    // razzle.config.js
    const path = require('path');
    
    module.exports = {
      plugins: [
        {
          name: 'purgecss',
          options: {
            path: path.resolve(__dirname, 'src/**/*'),
            rejected: true,
          }
        }
      ],
    };
    
Edit this page
Prev
Nuxt.js
Next
WordPress