weblabormx / php-remove-unused-css
PHP Remove Unused CSS 是一个使用 PHP 从您的网站中删除未使用 CSS 的工具
v1.0.1
2024-05-04 09:00 UTC
Requires
- php: >=7.2
- matthiasmullie/minify: >=1.3
This package is auto-updated.
Last update: 2024-09-04 09:45:55 UTC
README
PHP Remove Unused CSS 是一个使用 PHP 从您的网站中删除未使用 CSS 的工具。由 Momentum 81 开发 - https://momentum81.com。
- IMPORTANT! MAKE SURE YOU READ THE GUIDE FIRST OR YOU MAY INADVERTENTLY OVERWRITE YOUR CSS
主要思路是首先将 CSS 编译成尽可能少的文件,然后您会使用此包删除额外的类,然后使用此(或另一个)包压缩 CSS。
通常这会通过 JS 完成,但如果您想将其整合到纯 PHP 开发流程中,可能会引发问题。
安装
通过 composer 安装
composer require momentum81/php-remove-unused-css
示例
$removeUnusedCss = new \Momentum81\PhpRemoveUnusedCss\RemoveUnusedCssBasic(); $removeUnusedCss->whitelist('.fab', '.far', '.fal') ->styleSheets(public_path('**/*.css')) ->htmlFiles(resource_path('**/*.blade.php')) ->setFilenameSuffix('.refactored.min') ->minify() ->refactor() ->saveFiles();
类
使用此包有两种主要方式
- 基本
- 完整(开发中,尚未提供)
基本类
基本类是通过 RemoveUnusedCssBasic
创建的。这实际上是一个“愚蠢”的系统,它不会以任何方式遍历 DOM,只会包含如果其最低级出现在 CSS 中的选择器。
尽管如此,这仍然可以提供一些显著的大小节省,尤其是在您使用像 Bootstrap 这样的包时。
$removeUnusedCss = new \Momentum81\PhpRemoveUnusedCss\RemoveUnusedCssBasic();
基本类只是弱匹配,让我们看看以下 HTML
<div> <span class="hello">Hello World</span> </div>
以下 CSS 类将会匹配并保留,尽管在 HTML 中使用 .hello
类并没有在父元素中使用 .test
类
.test .hello {} .test .hello::after {}
完整类
开发中。此方法试图更加智能,尽可能多地遍历 DOM(当使用模板系统时,如果您的视图没有缓存,这将无限困难,因此系统在这里只能做到如此)。