Tailwind CSS / Purge CSS экстрактор, удаляющий некоторые классы - PullRequest
0 голосов
/ 05 марта 2020

довольно новый для Tailwind и PostCSS / Purge CSS, так что надеюсь, что это довольно простое исправление.

В моем tailwind.config.js я расширяю некоторые значения пробелов, включая добавление значения 0,5 для выравнивания со шкалой расстояния попутного ветра по умолчанию. Мой файл выглядит следующим образом (извлечение):

module.exports = {
    important: false,
    theme: {
        spacing: {
            '0.5': '0.125rem',
        },
    },
}

Затем я использую Post CSS для компиляции CSS, который выглядит следующим образом, как вы можете видеть, я использую кучу плагины, которые отлично работают:

module.exports = {
    parser: 'postcss-scss',
    plugins: [
        require('postcss-import'),
        require('postcss-nested'),
        require('postcss-responsive-type'),
        require('tailwindcss'),
        require('autoprefixer'),
        require('cssnano'),
    ]
}

До этого момента все отлично работали! Однако я хочу очистить css, чтобы удалить все неиспользуемые служебные классы, которые создает Tailwind. Это влияет на мой файл поста css следующим образом:

module.exports = {
    parser: 'postcss-scss',
    plugins: [
        require('postcss-import'),
        require('postcss-nested'),
        require('postcss-responsive-type'),
        require('tailwindcss'),
        require('autoprefixer'),
        require('@fullhuman/postcss-purgecss')({
            content: [
                './*.php',
                './**/*.php',
            ],
            defaultExtractor: content => content.match(/[\w-:/]+(?<!:)/g) || []
        }),
        require('cssnano'),
    ]
}

В этот момент я теряю некоторые стили, в частности, специально настроенные стили Tailwind, такие как .h-0.5.

Я полагаю, что проблема в строке defaultExtractor?

defaultExtractor: content => content.match(/[\w-:/]+(?<!:)/g) || []

Кто-нибудь может протянуть руку? Спасибо

1 Ответ

0 голосов
/ 05 марта 2020

Решено! Это было, как и ожидалось, очень просто. Я просто скучал по «.» для экстрактора по умолчанию:

defaultExtractor: content => content.match(/[\w-:/]+(?<!:)/g) || []
...