2013-06-13 2 views
1

Я пытаюсь реализовать LessCssProcessor в моем проекте maven. Однако в проекте, который я пытаюсь использовать процессор, есть файлы с ошибками CSS, из-за чего файлы css не генерируются. Можно ли сконфигурировать процессор или проект так, чтобы процессор Less или любой процессор можно запускать только в определенной группе файлов. Вся помощь приветствуется!Использование LessCssProcessor только в определенной группе файлов

ответ

3

Самый простой способ применить процессор только на ограниченном наборе ресурсов является использование ExtensionsAwareProcessorDecorator, пример:

ExtensionsAwareProcessorDecorator.decorate(new LessCssProcessor()).addExtension("less"); 

декорированное процессор должен использоваться вместо LessCssProcessor и он будет обрабатывать только ресурсы, имеющие меньшее расширение (пример: style.less) и будет игнорировать что-либо еще.

То же самое может быть достигнуто с использованием конфигурации конвенции, например:

preProcessors=lessCss.less 

Обратите внимание, что псевдоним процессора Хасс «.less» суффикс, что означает, что она будет применяться только на ресурсах, имеющих меньше расширение ,

Если вам нужно что-то более сложное, есть еще один декоратор, доступный под названием PathPatternProcessorDecorator. Пример использования:

String[] patterns = new String[] {"https://stackoverflow.com/a/**/n?me.css", "*.less", "/less/*.css"} 
PathPatternProcessorDecorator.include(new LessCssProcessor(), patterns); 

В приведенном выше примере создается декорированный процессор, который применяется только тогда, когда ресурс соответствует одному из предоставленных шаблонов. Аналогичный подход может быть использован, если необходимо исключить шаблоны:

String[] patterns = new String[] {"*.css", "/script/*.js"} 
PathPatternProcessorDecorator.exclude(new LessCssProcessor(), patterns); 

В этом случае процессор не будет применяться, если ресурс соответствует любому из предоставленных образцов.

Если ни одна из существующих реализаций не является достаточно хорошей, вы можете реализовать собственный декодер процессора, который применяет или не обрабатывает по-своему.

+0

Ничего себе, очень полный ответ, и именно то, что я искал. Спасибо за ответ! –

Смежные вопросы