有时你可能会惊讶地发现生产环境中的一些样式不见了,很可能是因为它们被 PurgeCSS 删除了。本文介绍了如何防止样式被 PurgeCSS 删除。
有多种方式将样式添加到 PurgeCSS 的安全列表,以避免被移除。
该方法使用特殊的注释,以告知 PurgeCSS 别移除样式。
1/*! purgecss start ignore */
2
3// STYLES GOES HERE.
4
5/*! purgecss end ignore */
HB 支持配置 PurgeCSS,此种方式对于通过 JavaScript 使用到的 classes、ids 和 tags 来说十分实用,因为 Hugo 无法得知 JS 使用了哪些样式。
1classes = []
2ids = []
3tags = []
4attributes = []
5safelist_deep = []
6safelist_greedy = []
7safelist_standard = []
[name] 替换为你的模块名称。对于主题使用者,可使用 custom 作为模块名。| Name | Type | Description | 
|---|---|---|
| classes | array | HTML 类名,如 w-100、bg-success。 | 
| ids | array | HTML id. | 
| tags | array | HTML tags,如 h1、a。 | 
| attributes | array | HTML attributes,如 data-bs-theme。 | 
| safelist_deep | array | PurgeCSS 安全列表模式1. | 
| safelist_greedy | array | PurgeCSS 安全列表模式1. | 
| safelist_standard | array | PurgeCSS 安全列表模式1. | 
我们可以通过 -e、--renderToDisk 和 --disableFastRender 标识于本地进行测试。
1hugo server \
2  -e production \
3  --gc \
4  --renderToDisk \
5  --disableFastRender \
6  -b http://localhost:1314 \
7  -p 1314