Ho scelto l'implementatore node-sass per libsass perché è basato su node.js.
Installazione di node-sass
- (Prerequisito) Se non si dispone di npm, installare prima Node.js.
$ npm install -g node-sass
installa node-sass a livello globale -g
.
Si spera che questo installerà tutto ciò di cui hai bisogno, se non leggi libsass in fondo.
Come utilizzare node-sass dalla riga di comando e dagli script npm
Formato generale:
$ node-sass [options] <input.scss> [output.css]
$ cat <input.scss> | node-sass > output.css
Esempi:
$ node-sass my-styles.scss my-styles.css
compila manualmente un singolo file.
$ node-sass my-sass-folder/ -o my-css-folder/
compila manualmente tutti i file in una cartella.
$ node-sass -w sass/ -o css/
compila automaticamente tutti i file in una cartella ogni volta che i file sorgente vengono modificati. -w
aggiunge un controllo per le modifiche ai file.
Opzioni più utili come "compressione" @ qui . La riga di comando è utile per una soluzione rapida, tuttavia, puoi utilizzare task runner come Grunt.js o Gulp.js per automatizzare il processo di compilazione.
È inoltre possibile aggiungere gli esempi precedenti agli script npm. Per utilizzare correttamente gli script npm come alternativa a gulp, leggi questo articolo completo @ css-tricks.com, in particolare sulle attività di raggruppamento .
- Se non ci sono
package.json
file nella directory del progetto in esecuzione $ npm init
ne creerà uno. Usalo con -y
per saltare le domande.
- Aggiungi
"sass": "node-sass -w sass/ -o css/"
a scripts
nel package.json
file. Dovrebbe assomigliare a qualcosa di simile a questo:
"scripts": {
"test" : "bla bla bla",
"sass": "node-sass -w sass/ -o css/"
}
$ npm run sass
compilerà i tuoi file.
Come si usa con gulp
$ npm install -g gulp
installa Gulp a livello globale.
- Se non ci sono
package.json
file nella directory del progetto in esecuzione $ npm init
ne creerà uno. Usalo con -y
per saltare le domande.
$ npm install --save-dev gulp
installa Gulp localmente. --save-dev
si aggiunge gulp
a devDependencies
in package.json
.
$ npm install gulp-sass --save-dev
installa gulp-sass localmente.
- Imposta gulp per il tuo progetto creando un
gulpfile.js
file nella cartella principale del progetto con questo contenuto:
'use strict';
var gulp = require('gulp');
Un esempio di base per transpile
Aggiungi questo codice al tuo 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
esegue l'attività precedente che compila i file .scss nella sass
cartella e genera i file .css nella css
cartella.
Per semplificarti la vita, aggiungiamo un orologio in modo da non doverlo compilare manualmente. Aggiungi questo codice a gulpfile.js
:
gulp.task('sass:watch', function () {
gulp.watch('./sass/**/*.scss', ['sass']);
});
Adesso è tutto pronto! Esegui semplicemente l'attività di controllo:
$ gulp sass:watch
Come utilizzare con Node.js
Come suggerisce il nome di node-sass, puoi scrivere i tuoi script node.js per il transpiling. Se sei curioso, controlla la pagina del progetto di node-sass.
E libsass?
Libsass è una libreria che deve essere costruita da un implementatore come sassC o nel nostro caso node-sass. Node-sass contiene una versione compilata di libsass che utilizza per impostazione predefinita. Se il file di build non funziona sulla tua macchina, prova a compilare libsass per la tua macchina. Questo processo richiede Python 2.7.x (3.x non funziona da oggi). Inoltre:
LibSass richiede GCC 4.6+ o Clang / LLVM. Se il tuo sistema operativo è precedente, questa versione potrebbe non essere compilabile. Su Windows, è necessario MinGW con GCC 4.6+ o VS 2013 Update 4+. È anche possibile creare LibSass con Clang / LLVM su Windows.
node-sass
è nellegulp-sass
dipendenze di , quindi non è necessario installarlo localmente.