gulp uncss - игнорировать через regex не получится

Я пытаюсь добавить uncss для моего рабочего процесса gulp.

Чтобы игнорировать некоторые классы, которые добавляются через javascript, например, я объявляю эти классы с помощью "ignore" (в моем случае я пытаюсь распаковать css из jquery plugin magnific-popup).

мой рабочий процесс выглядит следующим образом и использует регулярные выражения для сопоставления всех CSS-полей magnific-popup:

gulp.task("uncsstask", () => {
gulp.src('original-mfp.css')    
.pipe(uncss({
    html:
    [
        'page.html',
    ],
    ignore: [            
        /\.mfp-*.*/g,
    ]
}))
.pipe(gulp.dest('new'));
});

Что случилось, так это то, что класс

.mfp-container

делает это в новый файл CSS, но класс

.mfp-content

не.

Я проверил выражение регулярных выражений с помощью различных проверок регулярных выражений.

1 ответ

Решение

Добавьте флаг 'm' к своему регулярному выражению (иначе он остановится после первого совпадения):

    /\.mfp-*.*/gm,

и почему это первое * там? У вас иногда 0 или больше, чем один тире после ".mfp"?

[РЕДАКТИРОВАТЬ]: Таким образом, после более тщательного изучения документации выяснилось, что флаг регулярного выражения не требуется, и ОП указал, что это исправило проблему, а также включил мое другое предположение о том, что в регулярном выражении есть ненужное *. Я отредактировал свой ответ, поэтому эта информация теперь находится в теле ответа, а не только в комментариях. Так что используйте:

/\.mfp-.*/
Другие вопросы по тегам