gpt4 book ai didi

node.js - PurgeCSS 和 Tailwind CSS,如何使用命令行界面保留响应类?

转载 作者:行者123 更新时间:2023-12-04 01:08:28 25 4
gpt4 key购买 nike

我有“完整”的 3.9 MB Tailwind CSS 文件并成功应用 PurgeCSS 将其减少到 9 kB。但它也清除了所有响应类,如 md:px-6 ,它们没有出现在我清除的版本中。
注意:这个问题是关于使用命令行界面 (CLI)
这就是我所做的:purgecss --css ~/Desktop/Projects/Flask/Project1/build/static/css/main.css --content ~/Desktop/Projects/Flask//Project1/build/**/*.html --output ~/Desktop/Projects/Flask/Project2/static/css/main.css我选择在不同的文件夹 ( Project2 ) 中创建输出文件,以便我可以检查输入与输出。
我尝试过的一件事是添加 --safelist [/md/] ,但没​​有帮助。事实上,似乎根本没有使用安全列表......
(我使用 CLI,因为它是更大的 Python Flask 项目的一部分)

最佳答案

PurgeCSS 依赖 extractors 来获取文件中使用的选择器列表。它提供了一个默认的提取器,可以很好地处理各种文件类型,但它可能受到限制并且不适合所有的 CSS 框架。
默认提取器将文件的每个单词都视为选择器,但它不会考虑像 Tailwind CSS 中大量使用的冒号 ( : ) 这样的特殊字符。
因此,默认情况下,PurgeCSS 会删除响应式 (md:px-6)、悬停 (hover:bg-gray-500) 等类。为了避免这种情况,Tailwind 有它的 own extractor 。您可以使用这个(或您自己的)提取器,但 PurgeCSS CLI 有 limited options 并且缺少 defaultExtractor 选项。
幸运的是,它接受配置文件选项,因此如果您创建自己的 purgecss.config.js 文件并在其中添加默认提取器,它也会保留这些类。您还可以将其他选项添加到此文件中。
我曾经使用过这个简单的提取器,它也适用于您:

(content) => content.match(/[\w-/:]+(?<!:)/g) || []
您的配置文件将如下所示:
// purgecss.config.js
module.exports = {
content: ['build/**/*.html'],
css: ['build/static/css/main.css'],
defaultExtractor: (content) => content.match(/[\w-/:]+(?<!:)/g) || [],
output: 'static/css/main.css',
};
您可以使用以下命令通过上述配置运行 PurgeCSS:
purgecss --config ./purgecss.config.js

关于node.js - PurgeCSS 和 Tailwind CSS,如何使用命令行界面保留响应类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65554596/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com