Лучший способ автоматической компиляции компаса в стиле SASS через maven

со ссылкой на реализация SASS для Java? :

каков наилучший способ автоматической компиляции compass-style.org таблицы стилей в Maven goal компилируют соответственно пакет?

Я не хотел бы отправлять слишком много самокомпилируемых библиотек, и я не хочу динамически отправлять скомпилированные файлы через фильтры, такие как https://code.google.com/p/sass-java ( https://github.com/darrinholst/sass-java)

любые альтернативы, чем подключение скриптов shellscripts / ant, для которых требуется установить ruby и compass на клиенте?

в чем заключается подробная разница между таблицами стилей SASS и Compass, какие-либо проблемы с "Sass-tools" при регулярном использовании "compass"? => Какие плагины mvn являются "compass aware"?!

4 ответов


Я полагаю, вы знаете об этом плагине Maven (упомянутом в реализация SASS для Java?)? : https://github.com/Jasig/sass-maven-plugin

(Я сам еще не пробовал.)

UPDATE: этот плагин больше не поддерживается. Однако в настоящее время эта вилка кажется здоровой, поэтому она может быть вариантом для некоторых:https://github.com/GeoDienstenCentrum/sass-maven-plugin


Я нашел это, это не специальный плагин compass/sass, но он работает

https://gist.github.com/1671207


я попробовал несколько способов скомпилировать мое приложение (java, Wicket, используя сайты Zurb Foundation, node-sass с depebndency lib-sass). По правде говоря, все плагины maven были где-то тупиком, особенно когда мой scss содержал !глобальный флаг. (Этот флаг шел с фундаментом.) Таким образом, конечным решением для нас было сначала построить с npm, а затем использовать maven. Npm встроен в src/main/webapp / "myDir" dir. Я исключил этот dir в git. В файле jason есть строка например:

"scripts": {
    ....
    "build-css": "node node_modules/node-sass/bin/node-sass --include-path myScssDir myScssDir/myScss.scss --output  src/main/webapp/myDir/css",
    ....
}

затем постройте с maven, и он переместит встроенный css ino my war. Для некоторой помощи (создать несуществующий "myDir" dir) я использовал mkdirp. В моем Ясоне есть:

"scripts": {
    "create-dirs": "mkdirp src/main/webapp/myDir/",
    ....
}

поэтому я запускаю "npm i", чтобы установить все мои зависимости локально в node-modules dir. Это gitignored.

затем я запускаю "npm run create-dirs", чтобы создать необходимый myDir. Это тоже gitignored.

затем я запускаю "npm run build-css" для компиляции моих css-s и js-s в мидир.

наконец, я делаю сборку maven.

С помощью сборки hudson/jenkins вы можете легко сделать это за одну работу.

одно улучшение, о котором я могу думать, - это запустить npm через ant во время сборки maven. Я свяжусь с вами, когда у меня будут доказательства этого.

/ / одна дополнительная подсказка: если вы разрабатываете в корпоративной среде и Windows7, вам может потребоваться добавить разрешения на символические ссылки для сборки npm. Если вы обнаружите ошибки в сборке npm, это стоит попробовать: https://superuser.com/questions/104845/permission-to-make-symbolic-links-in-windows-7


Я использовал плагин Sass Maven от nl.geodienstencentrum.maven, но он использует Ruby и очень медленный.

теперь я переключился на: Maven Плагин Libsass

https://github.com/warmuuh/libsass-maven-plugin

Это использует C, и наше время компиляции намного меньше (8,6 секунды до -> 2 секунды)