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.