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-sass
installe 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. -w
ajoute 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.json
fichier dans votre répertoire de projet en cours d'exécution $ npm init
, vous en créerez un. Utilisez-le avec -y
pour sauter les questions.
- Ajouter
"sass": "node-sass -w sass/ -o css/"
à scripts
au package.json
fichier. Ç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.json
fichier dans votre répertoire de projet en cours d'exécution $ npm init
, vous en créerez un. Utilisez-le avec -y
pour sauter les questions.
$ npm install --save-dev gulp
installe Gulp localement. --save-dev
ajoute gulp
à devDependencies
en package.json
.
$ npm install gulp-sass --save-dev
installe gulp-sass localement.
- Configurez gulp pour votre projet en créant un
gulpfile.js
fichier 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 sass
exécute la tâche ci-dessus qui compile le (s) fichier (s) .scss dans le sass
dossier et génère le (s) fichier (s) .css dans le css
dossier.
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-sass
est dansgulp-sass
les dépendances de , donc pas besoin de l'installer localement.