J'ai choisi l'implémenteur node-sass pour libsass car il est basé sur node.js.
Installation de node-sass
- (Prérequis) Si vous n'avez pas npm, installez d' abord Node.js.
$ npm install -g node-sassinstalle node-sass globalement -g.
J'espère que cela installera tout ce dont vous avez besoin, sinon lisez libsass en bas.
Comment utiliser node-sass à partir de la ligne de commande et des scripts npm
Format général:
$ node-sass [options] <input.scss> [output.css]
$ cat <input.scss> | node-sass > output.css
Exemples:
$ node-sass my-styles.scss my-styles.css compile un seul fichier manuellement.
$ node-sass my-sass-folder/ -o my-css-folder/ compile tous les fichiers d'un dossier manuellement.
$ node-sass -w sass/ -o css/compile automatiquement tous les fichiers d'un dossier à chaque modification du ou des fichiers source. -wajoute une surveillance des modifications apportées au (x) fichier (s).
Plus d'options utiles comme 'compression' @ ici . La ligne de commande est bonne pour une solution rapide, cependant, vous pouvez utiliser des exécuteurs de tâches comme Grunt.js ou Gulp.js pour automatiser le processus de construction.
Vous pouvez également ajouter les exemples ci-dessus aux scripts npm. Pour utiliser correctement les scripts npm comme alternative à gulp, lisez cet article complet @ css-tricks.com en particulier sur le regroupement des tâches .
- S'il n'y a pas de
package.jsonfichier dans votre répertoire de projet en cours d'exécution $ npm init, vous en créerez un. Utilisez-le avec -ypour sauter les questions.
- Ajouter
"sass": "node-sass -w sass/ -o css/"à scriptsau package.jsonfichier. Ça devrait ressembler a quelque chose comme ca:
"scripts": {
"test" : "bla bla bla",
"sass": "node-sass -w sass/ -o css/"
}
$ npm run sass compilera vos fichiers.
Comment utiliser avec gulp
$ npm install -g gulp installe Gulp dans le monde entier.
- S'il n'y a pas de
package.jsonfichier dans votre répertoire de projet en cours d'exécution $ npm init, vous en créerez un. Utilisez-le avec -ypour sauter les questions.
$ npm install --save-dev gulpinstalle Gulp localement. --save-devajoute gulpà devDependenciesen package.json.
$ npm install gulp-sass --save-dev installe gulp-sass localement.
- Configurez gulp pour votre projet en créant un
gulpfile.jsfichier dans le dossier racine de votre projet avec ce contenu:
'use strict';
var gulp = require('gulp');
Un exemple basique pour transpiler
Ajoutez ce code à votre 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 sassexécute la tâche ci-dessus qui compile le (s) fichier (s) .scss dans le sassdossier et génère le (s) fichier (s) .css dans le cssdossier.
Pour vous faciliter la vie, ajoutons une montre pour ne pas avoir à la compiler manuellement. Ajoutez ce code à votre gulpfile.js:
gulp.task('sass:watch', function () {
gulp.watch('./sass/**/*.scss', ['sass']);
});
Tout est prêt maintenant! Exécutez simplement la tâche de surveillance:
$ gulp sass:watch
Comment utiliser avec Node.js
Comme le nom de node-sass l'indique, vous pouvez écrire vos propres scripts node.js pour le transpilage. Si vous êtes curieux, consultez la page du projet node-sass.
Et libsass?
Libsass est une bibliothèque qui doit être construite par un implémenteur tel que sassC ou dans notre cas node-sass. Node-sass contient une version intégrée de libsass qu'il utilise par défaut. Si le fichier de construction ne fonctionne pas sur votre machine, il essaie de construire libsass pour votre machine. Ce processus nécessite Python 2.7.x (3.x ne fonctionne pas à partir d'aujourd'hui). En outre:
LibSass nécessite GCC 4.6+ ou Clang / LLVM. Si votre système d'exploitation est plus ancien, cette version peut ne pas se compiler. Sous Windows, vous avez besoin de MinGW avec GCC 4.6+ ou VS 2013 Update 4+. Il est également possible de construire LibSass avec Clang / LLVM sous Windows.
node-sassest dansgulp-sassles dépendances de , donc pas besoin de l'installer localement.