Szukam sposobów wykorzystania SASS (Syntactically Awesome StyleSheets) z pakietu Ruby HAML w środowisku ASP.NET. Idealnie chciałbym, aby kompilacja plików SASS do CSS była płynną częścią procesu budowania.
Jakie są najlepsze sposoby tej integracji? Alternatywnie, czy istnieją inne narzędzia do generowania CSS, które są lepiej dostosowane do środowiska .NET?
Czytałem o tym wczoraj w HN i zastanawiałem się, jak powszechne jest użycie takich narzędzi
Surya
Rozglądam się za integracją SASS z naszymi skryptami Maven. Czy ktoś próbował to zrobić za pomocą wtyczki Maven Ruby?
Christopher Tokar
3
Nie rozumiem, dlaczego to pytanie nie jest „konstruktywne”. Nie ma miejsca w pytaniu, w którym prosi o porównanie SASS z LESS (lub cokolwiek innego). Poniższe odpowiedzi są bardzo pomocne dla mnie, który chce zobaczyć, jakie są opcje korzystania z SASS w .NET.
Calvin
1
Nie zgadzam się również z zamknięciem tego. Najlepsze praktyki w szybko rozwijającym się świecie tworzenia stron internetowych często pochodzą od samych programistów, a nie od jakiegoś organu zarządzającego!
Phil Ricketts,
Odpowiedzi:
41
Aby uzyskać lepsze wrażenia z pracy w programie Visual Studio, można zainstalować ostatnią wersję programu Web Essential, która zaczyna obsługiwać Sass (składnia SCSS). Alternatywnie możesz zainstalować Sassy Studio lub Web Workbench .
Web Essential to w pełni funkcjonalna wtyczka do programu Visual Studio, która naprawdę zapewnia lepsze wrażenia dla wszystkich elementów Front-End. Najnowsza wersja zaczyna obsługiwać Sass (składnia SCSS). Wewnętrznie używa Libsass do kompilacji SCSS do CSS.
Web Workbench to kolejna wtyczka do programu Visual Studio, która dodaje podświetlanie składni, inteligencję i kilka innych przydatnych rzeczy do edycji plików SCSS. Może również skompilować Twój kod do normalnego lub zminimalizowanego CSS. Wewnętrznie używał opakowanej wersji kompilatora Ruby Sass.
Sassy Studio : kolejna wtyczka do programu Visual Studio. Mniej funkcjonalny, ale znacznie lżejszy.
Biblioteka Libsass to C ++ port CSS prekompilator Sass (jeszcze w budowie). Oryginalna wersja została napisana w języku Ruby, ale ta wersja jest przeznaczona dla wydajności i przenośności. Ta biblioteka stara się być lekka, prosta i łatwa w tworzeniu i integracji z różnymi platformami i językami.
Wokół biblioteki Libsass jest kilka opakowań:
SassC : kompilator wiersza poleceń (w Windows musisz skompilować źródło SassC za pomocą MsysGit, aby uzyskać sassc.exe).
Compass to framework dla Sassa, który dodaje wiele przydatnych pomocników (takich jak spriting obrazu), a także może skompilować twój SCSS / Sass. Ale musisz zainstalować Rubiego w każdym środowisku programistycznym, w którym chcesz skompilować swoje style.
SassAndCoffee to pakiet, który dodaje obsługę kompilacji i minifikacji SCSS / Sass za pośrednictwem niektórych bibliotek DLL i konfiguracji. Jego przewaga nad kompilatorem Web Workbench polega na tym, że jest on niezależny od rozwiązania Visual Studio: nie musisz instalować wtyczki w każdym środowisku programistycznym. Uwaga: SassAndCoffee nie jest często aktualizowany, a ponieważ używa IronRuby do pakowania oficjalnego kompilatora Ruby, mogą wystąpić pewne problemy z wydajnością. Możesz zainstalować najnowszą wersję za pośrednictwem pakietu Nuget .
Projekt kompasu ma kompilator, który skompiluje twój sass do css. Jest zbudowany do działania w systemie Windows, ale nie jest dobrze przetestowany na tej platformie. Jeśli znajdziesz jakieś błędy związane z platformą, chętnie pomogę Ci je naprawić.
Świetna robota z kompasem, wygląda naprawdę niesamowicie.
Surya
Dzięki za odpowiedź - przyjrzę się temu jutro
Guðmundur H
24
W 2015 roku moją aktualną radą jest użycie Node.js(platforma Javascript po stronie serwera) i gulp.js( gulp-sasspakiet węzła do uruchamiania zadań) wraz z (pakietem węzłów do implementacji libsass - szybki port C Ruby SASS).
Wolisz pakiet? Bundle Transformer w końcu używa libsass, umożliwiając szybką kompilację.
Oto dlaczego uważam, że powinieneś używać Node i Gulp.
Węzeł jest teraz popularny w narzędziach frontendowych Wielu programistów internetowych używa teraz Node jako platformy do zadań związanych z tworzeniem frontendu. Czy to Grunt, Gulp, JSPM, Webpack, czy coś innego - dzieje się to teraz w npm .
Rzeczy, które możesz zrobić z pakietami npm:
Kompiluj style z Sass, Less, PostCSS i wieloma innymi
Połącz szablony JavaScript, CSS, HTML i nie tylko
Napisz inne wersje JS i transpile ES6-7, Typescript, Coffeescript do ES5
Twórz czcionki ikon z lokalnych plików SVG
Zmniejsz js, css, SVG
Optymalizuj obrazy
Uratuj wieloryby
...
Prostsza konfiguracja dla nowych programistów do projektu
Po skonfigurowaniu projektu package.jsoni gulpfile.jszwykle wystarczy kilka kroków, aby rozpocząć pracę:
Uruchom gulp taskname(w zależności od tego, jak skonfigurowałeś swoją gulpfile.jsnazwę zadania, uruchomi zadanie, które kompiluje twój SASS, JavaScript itp.)
Obsługiwany przez Visual Studio 2015
Wierz lub nie, VS2015 może teraz obsłużyć wszystkie funkcje wiersza poleceń za Ciebie!
Masz kilka typowych opcji w zakresie przepływu pracy:
Poproś programistów o wysłanie skompilowanego kodu do repozytorium
Wada: programiści muszą zawsze uruchamiać gulplub działać podobnie, aby kompilować zasoby gotowe do produkcji
Twoje serwery build | stage | production wykonują zadania typu „gulp” przed wydaniem.
Ten sposób może być bardziej skomplikowany w konfiguracji, ale oznacza, że praca jest sprawdzana i budowana na nowo z nieskompilowanego źródła.
Poniżej moja stara odpowiedź z 2012 roku, zachowana dla potomności:
Od czołowego programisty frontendowego pracującego z Ruby, Python i C # .NET mam następujące przemyślenia:
Sass & MNIEJ
Wolę używać [Sass] [1] w nowym projekcie, szczególnie ze wspaniałym [frameworkiem Compass] [2]. Kompas to świetna robota i dodaje wiele wartości do mojego procesu. Sass ma świetną społeczność, dokumentację OK i potężny zestaw funkcji. Sass to biblioteka Ruby.
Alternatywą dla Sassa jest [MNIEJ] [3]. Ma podobną składnię i funkcje, ale mniejszą społeczność i nieco lepszą dokumentację. MNIEJ biblioteki JS.
Z punktu widzenia trendów, ludzie z czasem przechodzą w kierunku Sass, ponieważ jest on dobrze rozwinięty, nawet obsługując funkcje CSS Level 4. Ale LESS jest nadal doskonale użyteczny i łatwo dodaje wartości, aby uzasadnić jego użycie.
O używaniu Sass / LESS w projekcie ASP.NET
Chociaż wolę używać Sassa, uruchomienie Ruby / Sass do pracy z projektami .NET może być bolesne, ponieważ jest trudne do skonfigurowania, obce i może frustrować programistów.
Masz kilka opcji:
Sass: Native Ruby + Sass
Pro: Najszybsza kompilacja serwerów
Pro: Możliwość korzystania z najnowszych wersji Sass
Wada: Ogromny kłopot z rozpoczęciem pracy
Wada: Każdy serwer lub stacja robocza wymaga skonfigurowania ruby
Wada: Twórcom .NET trudniej jest rozwiązywać problemy z Rubim / integracją
Sass: Ruby .NET, taki jak [IronRuby] [5] + Sass
Kompilacja serwerów Pro: SLOW (twórcy frontendu będą narzekać!)
Pro: może nie być w stanie korzystać z najnowszych wersji Sass
Pro: Nieco łatwiejszy w konfiguracji niż Native Ruby
Wada: Każdy serwer lub stacja robocza wymaga skonfigurowania ruby
Wada: Twórcom .NET trudniej jest rozwiązywać problemy z Rubim / integracją
Sass: Rozszerz [.NET Bundling] [8] za pomocą [BundleTransformer] [7] + Sass
Pro: (używa IronRuby) kompilacja serwerów SLOW (twórcy frontendu będą narzekać!)
Pro: (używa IronRuby) Może nie być w stanie korzystać z najnowszych wersji Sass
Pro: (używa IronRuby) Nieco łatwiejszy w konfiguracji niż Native Ruby
Wada: Każdy serwer lub stacja robocza wymaga skonfigurowania ruby
Wada: Twórcom .NET trudniej jest rozwiązywać problemy z Rubim / integracją
Sass lub LESS: wtyczka Visual Studio, taka jak [Mindscape Workbench] [4]
Pro: łatwe rozpoczęcie
Pro: Szybka kompilacja
Wada: Każdy programista pracujący ze stylami Sass potrzebuje wtyczki IDE
Wada: Nie można szybko zmienić stylów na serwerze - wymaga lokalnego ponownego przetwarzania
MNIEJ: port .NET, taki jak [DotLessCSS] [6]
Pro: Szybka kompilacja serwera
Pro: bardzo łatwy w konfiguracji
Pro: wygodny dla programistów C # .NET
Pro: Brak wymagań dotyczących IDE / stacji roboczej / serwera - uwzględnij je w samej aplikacji internetowej
Wada: nie ma wszechstronności SASS / Compass i nie zawsze może zagwarantować zgodność najnowszej składni LESS.JS
Sass: Virtualise linux + Ruby with [Vagrant] [9]
Pro: Nie tak straszne w konfiguracji, jak mogłoby się wydawać
Pro: Szybko !!
Pro: najnowsze narzędzia Frontend (Sass, Compass itp.), Zaktualizowane za pomocą menedżera pakietów linux
Wada: Początkowa konfiguracja może być trudna dla użytkowników innych niż Linux
Wada: wymagania środowiskowe obejmują teraz hosting maszyny wirtualnej
Wada: maszyna wirtualna może mieć problemy ze skalowalnością / konserwacją
Moim zdaniem, MNIEJ używanie [DotLessCSS] [6] jest najlepszym wyborem dla twojego typowego projektu tworzenia stron internetowych, z powodów wymienionych powyżej.
Kilka lat temu odkryłem, że [DotLessCSS] [6] ma irytujące błędy i ograniczenia, ale używając [DotLessCSS] [6] ponownie w 2012 roku w kilku projektach, jestem bardzo zadowolony z konfiguracji. Nie przedstawiłem bólu moim programistom, używając Sass / Ruby i wyciągnąłem większość korzyści z MNIEJ. A co najlepsze, nie ma wymagań dotyczących środowiska IDE ani stacji roboczej.
W Bundle Transformer 1.9.81 ze względu na przejście na libSass została znacznie zwiększona wydajność modułu BundleTransformer.SassAndScss.
Andrey Taritsyn
Andrey, pamiętam twoje imię, kiedy próbowałem użyć BundleTransformera kilka lat temu! Dodałem do tego uwagę, ponieważ będzie to preferowane dla niektórych deweloperów.
To nie jest SASS, ale możesz rzucić okiem na nasz Less Css dla portu .NET . Kompas wygląda jednak naprawdę interesująco i myślę, że coś takiego dla Lessa byłoby świetnym dodatkiem.
Właśnie to znalazłem wczoraj, wygląda to całkiem obiecująco, poza sass / scss poradzi sobie z autominacją JS (nie CSS - jeszcze) i łączeniem plików. Mam nadzieję, że ktoś tam utworzy wtyczkę VS do edycji plików sass / scss. Problemem dla mnie było to, że kiedy masz błąd w kodzie sass / scss, stwierdzasz, że wykonuje on tylko testy lub inspekcję wygenerowanych plików CSS. Nie przeszedłem przez wszystkie jego kroki, ale jak dotąd jest to dobre.
Odpowiedzi:
Aby uzyskać lepsze wrażenia z pracy w programie Visual Studio, można zainstalować ostatnią wersję programu Web Essential, która zaczyna obsługiwać Sass (składnia SCSS).
Alternatywnie możesz zainstalować Sassy Studio lub Web Workbench .
Następnie, aby skompilować pliki .sass / .scss w projekcie ASP.NET, istnieje kilka różnych narzędzi: za pośrednictwem Web Essential , Web Workbench , SassC , Sass.Net , Compass , SassAndCoffee ...
Web Essential to w pełni funkcjonalna wtyczka do programu Visual Studio, która naprawdę zapewnia lepsze wrażenia dla wszystkich elementów Front-End. Najnowsza wersja zaczyna obsługiwać Sass (składnia SCSS). Wewnętrznie używa Libsass do kompilacji SCSS do CSS.
Web Workbench to kolejna wtyczka do programu Visual Studio, która dodaje podświetlanie składni, inteligencję i kilka innych przydatnych rzeczy do edycji plików SCSS. Może również skompilować Twój kod do normalnego lub zminimalizowanego CSS. Wewnętrznie używał opakowanej wersji kompilatora Ruby Sass.
Sassy Studio : kolejna wtyczka do programu Visual Studio. Mniej funkcjonalny, ale znacznie lżejszy.
Biblioteka Libsass to C ++ port CSS prekompilator Sass (jeszcze w budowie). Oryginalna wersja została napisana w języku Ruby, ale ta wersja jest przeznaczona dla wydajności i przenośności. Ta biblioteka stara się być lekka, prosta i łatwa w tworzeniu i integracji z różnymi platformami i językami.
Wokół biblioteki Libsass jest kilka opakowań:
Compass to framework dla Sassa, który dodaje wiele przydatnych pomocników (takich jak spriting obrazu), a także może skompilować twój SCSS / Sass. Ale musisz zainstalować Rubiego w każdym środowisku programistycznym, w którym chcesz skompilować swoje style.
SassAndCoffee to pakiet, który dodaje obsługę kompilacji i minifikacji SCSS / Sass za pośrednictwem niektórych bibliotek DLL i konfiguracji. Jego przewaga nad kompilatorem Web Workbench polega na tym, że jest on niezależny od rozwiązania Visual Studio: nie musisz instalować wtyczki w każdym środowisku programistycznym. Uwaga: SassAndCoffee nie jest często aktualizowany, a ponieważ używa IronRuby do pakowania oficjalnego kompilatora Ruby, mogą wystąpić pewne problemy z wydajnością. Możesz zainstalować najnowszą wersję za pośrednictwem pakietu Nuget .
źródło
Projekt kompasu ma kompilator, który skompiluje twój sass do css. Jest zbudowany do działania w systemie Windows, ale nie jest dobrze przetestowany na tej platformie. Jeśli znajdziesz jakieś błędy związane z platformą, chętnie pomogę Ci je naprawić.
Kompas można znaleźć tutaj: http://github.com/chriseppsein/compass
źródło
W 2015 roku moją aktualną radą jest użycie
Node.js
(platforma Javascript po stronie serwera) igulp.js
(gulp-sass
pakiet węzła do uruchamiania zadań) wraz z (pakietem węzłów do implementacji libsass - szybki port C Ruby SASS).Możesz zacząć od takiego samouczka .
Oto dlaczego uważam, że powinieneś używać Node i Gulp.
frontendowych Wielu programistów internetowych używa teraz Node jako platformy do zadań związanych z tworzeniem frontendu. Czy to Grunt, Gulp, JSPM, Webpack, czy coś innego - dzieje się to teraz w npm .
Rzeczy, które możesz zrobić z pakietami npm:
Po skonfigurowaniu projektu
package.json
igulpfile.js
zwykle wystarczy kilka kroków, aby rozpocząć pracę:npm install -g gulp
(instaluje łyka globalnie)npm install
(lokalnie instaluje pakiety projektu)gulp taskname
(w zależności od tego, jak skonfigurowałeś swojągulpfile.js
nazwę zadania, uruchomi zadanie, które kompiluje twój SASS, JavaScript itp.)Wierz lub nie, VS2015 może teraz obsłużyć wszystkie funkcje wiersza poleceń za Ciebie!
Masz kilka typowych opcji w zakresie przepływu pracy:
Poproś programistów o wysłanie skompilowanego kodu do repozytorium
Wada: programiści muszą zawsze uruchamiać
gulp
lub działać podobnie, aby kompilować zasoby gotowe do produkcjiTwoje serwery build | stage | production wykonują zadania typu „gulp” przed wydaniem.
Ten sposób może być bardziej skomplikowany w konfiguracji, ale oznacza, że praca jest sprawdzana i budowana na nowo z nieskompilowanego źródła.
Poniżej moja stara odpowiedź z 2012 roku, zachowana dla potomności:
źródło
Właśnie napisałem dodatek do programu Visual Studio ze szczegółowymi instrukcjami, w tym zrzutami ekranu, jak uruchomić Sass w Visual Studio. Sprawdź to tutaj - http://giri.sh/2011/01/21/sass-for-visual-studio-2010/
źródło
To nie jest SASS, ale możesz rzucić okiem na nasz Less Css dla portu .NET . Kompas wygląda jednak naprawdę interesująco i myślę, że coś takiego dla Lessa byłoby świetnym dodatkiem.
źródło
Właśnie to znalazłem wczoraj, wygląda to całkiem obiecująco, poza sass / scss poradzi sobie z autominacją JS (nie CSS - jeszcze) i łączeniem plików. Mam nadzieję, że ktoś tam utworzy wtyczkę VS do edycji plików sass / scss. Problemem dla mnie było to, że kiedy masz błąd w kodzie sass / scss, stwierdzasz, że wykonuje on tylko testy lub inspekcję wygenerowanych plików CSS. Nie przeszedłem przez wszystkie jego kroki, ale jak dotąd jest to dobre.
https://github.com/xpaulbettsx/SassAndCoffee
źródło
Pierwotnie odpowiedziałem na to pytanie tutaj .
źródło