Czy jest sposób na użycie Sass, Compass lub czegoś podobnego bez Rubiego?
Rozglądałem się po Google i tej stronie i nie mogę nic znaleźć, każda pomoc byłaby mile widziana. Dziękuję Ci
css
sass
compass-sass
Troy Cosentino
źródło
źródło
Odpowiedzi:
Sass został pierwotnie napisany dla Rubiego, ale teraz stworzyli libSass, który jest
C/C++
portem silnika Sass, co ułatwia integrację silnika z IDE lub innym językiem. W tym momencie możesz użyć silnika Sass w Ruby, Node.js , Python , PHP , Java , .NET i innych. Aby uzyskać więcej informacji, odwiedź libSass . Ponadto, twoje IDE może mieć wtyczkę, która wspierałaby Sass, bez potrzeby używania ruby, używając libSass.Oryginalna odpowiedź poniżej może, ale nie musi, odnosić się do twojej sytuacji (zależy od tego, czy twój język ma zaimplementowaną obsługę libSass, czy nie). Postanowiłem zostawić to tak, jak jest ze względów archiwalnych.
Sass (wymaga Ruby)
Kompas (wymaga Rubiego, ponieważ jest oparty na SASS)
Less (napisane w js, wymaga dołączenia node.js lub less.js na stronie)
Są to główne znane mi procesory. Możesz napisać własny parser / port dla dowolnego innego wybranego języka.
Innymi słowy, nie, nie możesz używać sass / compass bez posiadania Rubiego, ponieważ sam program (sass i kompas) JEST napisany w Rubim. Więc na pewno będziesz go potrzebować, aby go uruchomić.
źródło
To prawda, że pytanie nie jest wystarczająco jasne, ale spróbuję rozwiązać kilka problemów. Tam są inne CSS pre-procesory, które nie opierają się na dwóch najbliższych Ruby (moim zdaniem właśnie teraz są mniej , co ja używałem i lubi, ale nie tak silny jak Sass, a Stylus , które nie zostały wykorzystane, oba oparte na JavaScript), ale ponieważ pytasz konkretnie o Sass + Compass, a ja wciąż szukam tej samej odpowiedzi, opowiem o tym.
@JamundFerguson powiedział:
Jest
Sass to język przetwarzania wstępnego. Jest kompilator wbudowany w Ruby i każdy może napisać kompilator w dowolnym języku. Istnieje implementacja kompilatora Sass o nazwie libsass w języku C, której można używać w dowolnym języku, który umożliwia importowanie bibliotek C. Jest to biblioteka używana przez node-sass , który jest kompilatorem zbudowanym w Node.js , którego jeszcze nie próbowałem i nie wiem, jak może działać i czy jest gotowy do użytku produkcyjnego. Przeniesienie Compassa może być kwestią czasu (może w końcu to zrobisz?), Więc możemy mieć kompilator, który nie zależy od klejnotu Ruby (obecnie istnieje moduł node-compass , który opiera się na klejnot Ruby).
Inne języki
Do tej pory wspomniałem o możliwości kompilatora Node.js, który, jak być może wiesz, jest to środowisko JavaScript, będące językiem sieci i moim wybranym językiem. Ale nie określiłeś, w jakim języku chcesz pisać kompilator. Myślę, że mogą istnieć kompilatory zbudowane w wielu językach, na przykład @EricMeyer wspomniał o kompilatorze Pythona . Może używa pyScss ? Wygląda na to, że ma wbudowaną obsługę Compass. Ale wtedy potrzebujesz środowiska Python. Więc chodzi o to: trzeba trochę środowisko dla kompilatora chyba uruchomić natywnie skompilowane pliki binarne. (Less ma less.js, który można dołączyć do strony, aby uruchomić po stronie klienta i uniknąć kroku kompilacji, ale nie jest przeznaczony do używania go w środowisku produkcyjnym).
Aplikacje natywne
Pracuję przez rok z CodeKit, który działa bardzo dobrze, kompiluje języki Sass / Compass, Less, Stylus i szablony, takie jak Haml, Slim, Jade, itp. Odbudowuje zasoby, gdy zmieniają się automatycznie, i natychmiast widzisz zmiany w przeglądarce. Jedyne, co mi się nie podobało, to to, że przenosząc się na inny komputer, instalując CodeKit, sprawdzając projekt i próbując go użyć, musiałem ponownie skonfigurować ustawienia projektu, o czym musiałem pamiętać, aby móc przejść do kompilacji jak ten, który zrobiłem na innym komputerze. Zacząłem też pracować z zespołem, a oni musieli także skonfigurować projekt z tymi samymi ustawieniami (czasami brak takiej samej konfiguracji projektu prowadził do brzydkich niespójności), a także członkowie zespołu używający Ubuntu nie mogli go używać. Dlatego zacząłem myśleć o stworzeniu narzędzia wiersza poleceń do tworzenia projektów i odkryłemnatychmiast i zakochałem się w nim. Jak wspomniał @Dave, jest Scout, a także LiveReload , ale ich nie używaliśmy.
Wniosek
Wniosek jest taki, że nie mam mocnego wniosku. Nadal szukam tej samej odpowiedzi, ale mam nadzieję, że ta odpowiedź rzuci trochę światła na stan kompilowania Sass / Compass poza środowiskiem Ruby.
źródło
Właściwie istnieje biblioteka, która zapewnia powiązanie Node.js z libsass, wersją Sass w C: https://npmjs.org/package/node-sass
Pozwala na natywne kompilowanie plików .scss do css z niesamowitą szybkością bez zainstalowanego Rubiego.
Aby zainstalować wystarczy uruchomić:
W razie potrzeby istnieje również rozszerzenie Grunt: https://github.com/sindresorhus/grunt-sass (właśnie tego szukałem w tym pytaniu)
Dowiedz się więcej na: https://github.com/andrew/node-sass
źródło
To tylko mała aktualizacja, możesz używać plików SCSS / SASS i generować poprawne pliki w locie bez instalowania Ruby za pomocą programu o nazwie Scout.
Scout ma własne, niezależne środowisko ruby i jest zakodowany w Javie, więc przed użyciem upewnij się, że ta wersja jest aktualna. Linky tutaj.
Pozdrowienia :)
źródło
Możesz faktycznie parsować sass bez ruby, możesz użyć node-sass. szczegóły tutaj: https://github.com/andrew/node-sass
źródło
Jeśli to jest dla .NET, jest teraz opakowanie dla libsass . Dostępne od Nuget .
źródło
Adobe Brackets (darmowy, open source) może kompilować LESS, SASS i Stylus po zmianie plików i aktualizować style podczas podglądu na żywo, wystarczy zainstalować wymagane rozszerzenia z menedżera rozszerzeń. Kup wsporniki i ciesz się!
Edycja: Jak sugerują inne pytania, node-sass jest również dobrą opcją, jeśli masz już zainstalowany nodejs.
źródło