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-.*/