Sass или Compass без рубина?


102

Есть ли способ использовать Sass, Compass или что-то подобное без Ruby?

Я искал Google и этот сайт и ничего не нашел, любая помощь будет оценена. Спасибо



3
Это настоящий вопрос? То есть непонятно, что ты имеешь в виду. Существуют ли другие препроцессоры CSS, которые не полагаются на Ruby? Да. Есть ли способ скомпилировать Sass без Ruby? Смотря как. Нам нужно больше фона.
Джамунд Фергюсон,

Но вы не указываете, на каком языке вы бы предпочли писать парсер.
Алехандро Гарсия Иглесиас

1
Есть ли способ скачать предварительно скомпилированную версию?
Уильям

Ответы:


53

Изначально Sass был написан для Ruby, но теперь они создали libSass, который является C/C++портом для движка Sass, который упрощает интеграцию движка в IDE или другой язык. На этом этапе вы можете использовать движок Sass в Ruby, Node.js , Python , PHP , Java , .NET и других. Для получения дополнительной информации посетите libSass . Кроме того, в вашей среде IDE может быть плагин, который будет поддерживать Sass, без использования ruby ​​с помощью libSass.

Исходный ответ ниже может или не может относиться к вашей ситуации (зависит от того, реализована ли в вашем языке поддержка libSass или нет). Я решил оставить все как есть по архивным причинам.


Sass (требуется Ruby)

Sass написан на Ruby, поэтому вам также понадобится установленный Ruby. Взято с сайта sass

Компас (требуется Ruby, так как он основан на SASS)

Compass - это среда разработки CSS с открытым исходным кодом, которая использует язык таблиц стилей Sass, чтобы сделать написание таблиц стилей мощным и простым. Взято с сайта компаса

Меньше (написано на js, требует наличия на странице node.js или less.js)

LESS расширяет CSS динамическим поведением, таким как переменные, миксины, операции и функции. LESS работает как на стороне клиента (Chrome, Safari, Firefox), так и на стороне сервера с Node.js и Rhino. Взято с сайта Less

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

Другими словами, вы не можете использовать sass / compass без Ruby, потому что сама программа (sass и compass) написана на Ruby. Так что он вам обязательно понадобится для запуска.


Это технически точно, но не совсем точно, так как различные плагины могут позаботиться об этом за вас. Например, в Visual Studio есть плагин Mindscape Workbench, который имеет автономную среду ruby, о которой вам не придется беспокоиться. Он не будет включать в себя компас для вас, что немного разочаровывает.
Джордж Мауэр


Нет, я не пробовал найти похожие компиляторы на других языках. Вы должны иметь возможность написать компиляцию с нуля практически на любом достойном языке, но это, скорее всего, займет у вас много времени. Сначала вам нужно уметь анализировать css (и обнаруживать любые ошибки в синтаксисе css), а затем вам нужно будет «скомпилировать» (что в основном представляет собой переформатирование - т.е. код css - это одна строка) css. После этого вы, скорее всего, захотите добавить несколько CSS с наследованием. Если вы чувствуете, что у вас есть время, вы можете попробовать это сделать и поделиться с нами результатом :)
tftd

1
LESS также возможно изначально в .NET с использованием пакета NuGet dotLESS.
Дэвид Бойк 08

27

Это правда, что вопрос не совсем ясен, но я постараюсь решить некоторые проблемы. Существуют и другие препроцессоры CSS, которые не полагаются на Ruby (прямо сейчас мне приходят в голову два - Less , которые я использовал и которые мне нравились, но не такие мощные, как Sass и Stylus , которые я не использовал, оба основаны на JavaScript), но поскольку вы конкретно спрашиваете о Sass + Compass, и поскольку я все еще ищу тот же ответ, я расскажу об этом.

@JamundFerguson сказал:

Есть ли способ скомпилировать Sass без Ruby? Смотря как.

Там есть

Sass - это язык предварительной обработки. Для этого есть компилятор, встроенный в Ruby, и любой может написать компилятор на любом языке. Существует реализация C компилятора Sass под названием libsass, который можно использовать на любом языке, который позволяет импортировать библиотеки C. Это библиотека, используемая node-sass , компилятором, встроенным в Node.js , который я еще не пробовал и не знаю, как он может работать и готов ли он к производственному использованию. Это может быть вопрос времени для переноса Compass (возможно, вы в конечном итоге это сделаете?), И поэтому у нас может быть компилятор, который не зависит от драгоценного камня Ruby (в настоящее время существует модуль node-compass , который полагается на драгоценный камень Ruby).

Другие языки

До сих пор я упоминал о возможности компилятора Node.js, который, как вы, возможно, знаете, представляет собой среду JavaScript, являющуюся языком Интернета и моим предпочтительным языком. Но вы не указали, на каком языке вы хотите, чтобы компилятор был написан. Я думаю, что могут быть компиляторы, построенные на многих языках, например, @EricMeyer упомянул компилятор Python . Может он пользуется pyScss ? Кажется, у него есть встроенная поддержка Compass. Но тогда вам нужна среда Python. Итак, дело в том, что вам понадобится некоторая среда для компилятора, если вы не запустите скомпилированные в собственном коде двоичные файлы. (В Less есть less.js, который можно включить на страницу для запуска на стороне клиента и избежать этапа компиляции, но он не предназначен для использования в производственной среде.)

Родные приложения

Я год работаю с CodeKit, который работает очень хорошо, компилирует Sass / Compass, Less, Stylus и языки шаблонов, такие как Haml, Slim, Jade и т. д. Восстанавливает ваши ресурсы, когда они меняются автоматически, и вы сразу видите изменения в своем браузере. Единственное, что мне не понравилось, это то, что при переходе на другой компьютер, установке CodeKit, проверке проекта и попытке его использовать мне пришлось перенастроить параметры проекта, которые я должен был запомнить, чтобы я мог перейти к сборке. как тот, который я сделал на другом компьютере. Также я начал работать с командой, и им также пришлось настроить проект с такими же настройками (иногда отсутствие одинаковой конфигурации проекта приводило к некрасивым несоответствиям), а также члены команды, использующие Ubuntu, не могли его использовать. Который'сразу и влюбился в нее. Как упоминал @Dave, есть Scout, а также LiveReload , но не использовал их.

Вывод

Вывод: у меня нет четкого вывода. Я все еще ищу тот же ответ, но я надеюсь, что этот ответ проливает немного света на статус компиляции Sass / Compass вне среды Ruby.


1
Для состояния libsass: solitr.com/blog/2014/01/state-of-libsass , от которого зависят node-sass и другие sass-библиотеки.
Ehtesh Choudhury

27

На самом деле существует библиотека, которая обеспечивает привязку Node.js к libsass, версии Sass на C: https://npmjs.org/package/node-sass

Он позволяет вам с невероятной скоростью компилировать файлы .scss в CSS без установленного Ruby.

Для установки просто запустите:

npm install node-sass

И при необходимости есть расширение Grunt: https://github.com/sindresorhus/grunt-sass (это то, что я искал в этом вопросе)

Узнайте больше на: https://github.com/andrew/node-sass


1
grunt-sass было тем, что я искал.
9ilsdx 9rvj 0lo 02

11

Немного обновив это, вы можете использовать файлы SCSS / SASS и генерировать правильные файлы на лету без установки Ruby с помощью программы под названием Scout.

Scout имеет собственную автономную среду Ruby и написан на Java, поэтому перед использованием убедитесь, что у вас установлена ​​последняя версия Java. Линки здесь.

С уважением :)


8
Я предпочел бы рубин над Java;)
basarat

На самом деле, в настоящий момент, когда я пишу, Scout использует Adobe Air. Может быть, в старой версии использовалась Java?
iconoclast

3
все еще рубиновый лучше, чем Air :)
x0x



2

Adobe Brackets (бесплатно, с открытым исходным кодом) может компилировать LESS, SASS и Stylus при изменении файлов и обновлять стили во время предварительного просмотра в реальном времени, вам просто нужно установить необходимые расширения из диспетчера расширений. Получите скобки и наслаждайтесь!

Изменить: поскольку другие вопросы предполагают, что node-sass также является хорошим вариантом, если у вас уже установлены nodejs.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.