Wybrałem implementator node-sass dla libsass, ponieważ jest oparty na node.js.
Instalowanie node-sass
- (Wymaganie wstępne) Jeśli nie masz npm, zainstaluj najpierw Node.js.
$ npm install -g node-sassinstaluje node-sass globalnie -g.
Mam nadzieję, że to zainstaluje wszystko, czego potrzebujesz, jeśli nie przeczytasz libsass na dole.
Jak używać node-sass z wiersza poleceń i skryptów npm
Ogólny format:
$ node-sass [options] <input.scss> [output.css]
$ cat <input.scss> | node-sass > output.css
Przykłady:
$ node-sass my-styles.scss my-styles.css ręcznie kompiluje pojedynczy plik.
$ node-sass my-sass-folder/ -o my-css-folder/ ręcznie kompiluje wszystkie pliki w folderze.
$ node-sass -w sass/ -o css/automatycznie kompiluje wszystkie pliki w folderze, gdy tylko pliki źródłowe są modyfikowane. -wdodaje obserwację zmian w pliku (plikach).
Więcej przydatnych opcji, takich jak „kompresja” @ tutaj . Linia poleceń jest dobra do szybkiego rozwiązania, jednak możesz użyć programów uruchamiających zadania, takich jak Grunt.js lub Gulp.js, aby zautomatyzować proces kompilacji.
Możesz również dodać powyższe przykłady do skryptów npm. Aby prawidłowo używać skryptów npm jako alternatywy dla gulp, przeczytaj ten obszerny artykuł @ css-tricks.com, w szczególności przeczytaj o grupowaniu zadań .
- Jeśli
package.jsonw katalogu projektu nie ma żadnego pliku, uruchomienie $ npm initgo utworzy. Użyj go z, -yaby pominąć pytania.
- Dodaj
"sass": "node-sass -w sass/ -o css/"do scriptsw package.jsonpliku. Powinien wyglądać mniej więcej tak:
"scripts": {
"test" : "bla bla bla",
"sass": "node-sass -w sass/ -o css/"
}
$ npm run sass skompiluje twoje pliki.
Jak używać z łykiem
$ npm install -g gulp instaluje Gulp na całym świecie.
- Jeśli
package.jsonw katalogu projektu nie ma żadnego pliku, uruchomienie $ npm initgo utworzy. Użyj go z, -yaby pominąć pytania.
$ npm install --save-dev gulpinstaluje Gulp lokalnie. --save-devdodaje gulpsię devDependenciesw package.json.
$ npm install gulp-sass --save-dev instaluje lokalnie gulp-sass.
- Skonfiguruj gulp dla swojego projektu, tworząc
gulpfile.jsplik w folderze głównym projektu z następującą zawartością:
'use strict';
var gulp = require('gulp');
Podstawowy przykład transpile
Dodaj ten kod do swojego pliku gulpfile.js:
var gulp = require('gulp');
var sass = require('gulp-sass');
gulp.task('sass', function () {
gulp.src('./sass/**/*.scss')
.pipe(sass().on('error', sass.logError))
.pipe(gulp.dest('./css'));
});
$ gulp sassuruchamia powyższe zadanie, które kompiluje plik (i) .scss w sassfolderze i generuje plik (i) .css w cssfolderze.
Aby ułatwić życie, dodajmy zegarek, abyśmy nie musieli go ręcznie kompilować. Dodaj ten kod do gulpfile.js:
gulp.task('sass:watch', function () {
gulp.watch('./sass/**/*.scss', ['sass']);
});
Wszystko gotowe! Po prostu uruchom zadanie zegarka:
$ gulp sass:watch
Jak korzystać z Node.js.
Jak sugeruje nazwa node-sass, możesz napisać własne skrypty node.js do transpilacji. Jeśli jesteś ciekawy, sprawdź stronę projektu node-sass.
A co z libsass?
Libsass to biblioteka, która musi zostać zbudowana przez implementującego, takiego jak sassC lub w naszym przypadku node-sass. Node-sass zawiera wbudowaną wersję libsass, której używa domyślnie. Jeśli plik kompilacji nie działa na twoim komputerze, próbuje zbudować libsass dla twojego komputera. Ten proces wymaga Pythona 2.7.x (3.x nie działa na dzień dzisiejszy). Dodatkowo:
LibSass wymaga GCC 4.6+ lub Clang / LLVM. Jeśli Twój system operacyjny jest starszy, ta wersja może się nie skompilować. W systemie Windows potrzebujesz MinGW z GCC 4.6+ lub VS 2013 Update 4+. Możliwe jest również zbudowanie LibSass z Clang / LLVM w systemie Windows.
node-sassjest wgulp-sasszależnościach użytkownika , więc nie ma potrzeby instalowania go lokalnie.