ASP.NET sass/scss компиляция во время выполнения и во время компиляции?
Я ищу решение для компиляции моих .scss файлов во время выполнения и во время компиляции.
Причина, по которой мне нужны оба, заключается в том, что наши дизайнеры работают на Mac и предпочитают легко сводить их .scss файлы динамически во время выполнения (особенно на этапе разработки). С другой стороны, мне нужна поддержка времени компиляции, чтобы проверить, что SCSS успешно компилируется во время моего процесса сборки. Моя цель - сбой сборки, если SCSS не компилируется.
Я нашел несколько библиотек, доступных на NuGet, однако небольшие недостатки в каждом из них удерживают меня.
Существует ли решение для обоих этих сценариев?
Здесь мои исследования привели меня:
Поддержка времени выполнения
Поддержка времени компиляции:
- Cassette.MSBuild (Кажется, не связывает файлы SCSS, только CSS)
- Mindscape Web Workbench (версия Pro, по-видимому, включает инструмент командной строки, однако документация очень ограничена в этой функции)
- Другие?
Ответы
Ответ 1
В выпуске Pro Mindscape Web Workbench содержится инструмент командной строки для компиляции во время выполнения. В настоящее время только ночная сборка способна компилировать Bourbon and Neat (одно из моих требований).
Вот мое предварительное событие, которое отлично работает на данный момент:
"C:\Program Files (x86)\Mindscape\Web Workbench\Command Line\wwcmd.exe"
"$(ProjectDir)scss\style.scss" /o:../css /style:compressed
UPDATE:
Мы решили просто вызвать SASS из события предварительной сборки, а не использовать Web Workbench.
call sass -C "$(ProjectDir)assets\scss\main.scss" "$(ProjectDir)assets\css\compiled\main.css" --style compressed
Ответ 2
Отъезд SassAndCoffee. Это то, что использует кассета, и вставляет все в несколько сборок.
Web Workbench, с другой стороны, фактически устанавливает Ruby и Sass gems в файловую систему в очень длинном пути к папке, скрытой под текущим каталогом пользователей, что, вероятно, будет проблематичным для веб-приложения и в отношении безопасности и разрешений.
Ответ 3
Этот вопрос заставил меня задуматься. Я хотел чего-то более легкого, чем @StrandedPirate предложение, и поддержка Стиль компаса. Надеюсь, это поможет!
https://www.nuget.org/packages/Dado.Compass/
https://github.com/roydukkey/Dado.Compass