Ich habe den Node-Sass-Implementierer für libsass ausgewählt, weil er auf node.js basiert.
Node-Sass installieren
- (Voraussetzung) Wenn Sie kein npm haben, installieren Sie zuerst Node.js.
$ npm install -g node-sassInstalliert Node-Sass global -g.
Dies wird hoffentlich alles installieren, was Sie brauchen, wenn nicht libsass unten lesen.
Verwendung von Node-Sass über Befehlszeilen- und npm-Skripte
Allgemeines Format:
$ node-sass [options] <input.scss> [output.css]
$ cat <input.scss> | node-sass > output.css
Beispiele:
$ node-sass my-styles.scss my-styles.css Kompiliert eine einzelne Datei manuell.
$ node-sass my-sass-folder/ -o my-css-folder/ Kompiliert alle Dateien in einem Ordner manuell.
$ node-sass -w sass/ -o css/Kompiliert alle Dateien in einem Ordner automatisch, wenn die Quelldatei (en) geändert werden. -wFügt eine Überwachung für Änderungen an den Dateien hinzu.
Weitere nützliche Optionen wie 'Komprimierung' @ hier . Die Befehlszeile ist gut für eine schnelle Lösung. Sie können jedoch Task-Runner wie Grunt.js oder Gulp.js verwenden, um den Erstellungsprozess zu automatisieren.
Sie können die obigen Beispiele auch zu npm-Skripten hinzufügen. Um npm-Skripte als Alternative zu gulp richtig zu verwenden , lesen Sie diesen umfassenden Artikel @ css-tricks.com, insbesondere über Gruppierungsaufgaben .
- Wenn sich
package.jsonin Ihrem Projektverzeichnis keine Datei befindet, wird eine Datei $ npm initerstellt. Verwenden Sie es mit -y, um die Fragen zu überspringen.
- In
"sass": "node-sass -w sass/ -o css/"zu scriptsin - package.jsonDatei. Es sollte ungefähr so aussehen:
"scripts": {
"test" : "bla bla bla",
"sass": "node-sass -w sass/ -o css/"
}
$ npm run sass wird Ihre Dateien kompilieren.
Wie mit Schluck zu verwenden
$ npm install -g gulp installiert Gulp global.
- Wenn sich
package.jsonin Ihrem Projektverzeichnis keine Datei befindet, wird eine Datei $ npm initerstellt. Verwenden Sie es mit -y, um die Fragen zu überspringen.
$ npm install --save-dev gulpinstalliert Gulp lokal. --save-devfügt gulpzu devDependenciesin package.json.
$ npm install gulp-sass --save-dev installiert gulp-sass lokal.
- Richten Sie gulp für Ihr Projekt ein, indem Sie eine
gulpfile.jsDatei in Ihrem Projektstammordner mit folgendem Inhalt erstellen :
'use strict';
var gulp = require('gulp');
Ein einfaches Beispiel zum Transpilen
Fügen Sie diesen Code Ihrer gulpfile.js hinzu:
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 sassführt die obige Aufgabe aus, die .scss-Datei (en) im sassOrdner kompiliert und .css-Datei (en) im Ordner generiert css.
Um das Leben einfacher zu machen, fügen wir eine Uhr hinzu, damit wir sie nicht manuell kompilieren müssen. Fügen Sie diesen Code hinzu zu gulpfile.js:
gulp.task('sass:watch', function () {
gulp.watch('./sass/**/*.scss', ['sass']);
});
Alles ist jetzt eingestellt! Führen Sie einfach die Überwachungsaufgabe aus:
$ gulp sass:watch
Verwendung mit Node.js.
Wie der Name von node-sass andeutet, können Sie Ihre eigenen node.js-Skripte zum Transpilieren schreiben. Wenn Sie neugierig sind, lesen Sie die Node-Sass-Projektseite.
Was ist mit libsass?
Libsass ist eine Bibliothek, die von einem Implementierer wie sassC oder in unserem Fall node-sass erstellt werden muss. Node-sass enthält eine erstellte Version von libsass, die standardmäßig verwendet wird. Wenn die Build-Datei auf Ihrem Computer nicht funktioniert, wird versucht, libsass für Ihren Computer zu erstellen. Dieser Prozess erfordert Python 2.7.x (3.x funktioniert ab heute nicht mehr). Zusätzlich:
LibSass erfordert GCC 4.6+ oder Clang / LLVM. Wenn Ihr Betriebssystem älter ist, wird diese Version möglicherweise nicht kompiliert. Unter Windows benötigen Sie MinGW mit GCC 4.6+ oder VS 2013 Update 4+. Es ist auch möglich, LibSass mit Clang / LLVM unter Windows zu erstellen.
node-sassist ingulp-sassden Abhängigkeiten , so dass es nicht lokal installiert werden muss.