Elegí el implementador de node-sass para libsass porque se basa en node.js.
Instalación de node-sass
- (Requisito) Si no tiene npm, primero instale Node.js.
$ npm install -g node-sass
instala node-sass a nivel mundial -g
.
Con suerte, esto instalará todo lo que necesita, si no lee libsass en la parte inferior.
Cómo usar node-sass desde la línea de comandos y scripts npm
Formato general:
$ node-sass [options] <input.scss> [output.css]
$ cat <input.scss> | node-sass > output.css
Ejemplos:
$ node-sass my-styles.scss my-styles.css
compila un solo archivo manualmente.
$ node-sass my-sass-folder/ -o my-css-folder/
compila todos los archivos en una carpeta manualmente.
$ node-sass -w sass/ -o css/
compila todos los archivos de una carpeta automáticamente cada vez que se modifican los archivos de origen. -w
agrega un reloj de cambios en los archivos.
Más opciones útiles como 'compresión' @ aquí . La línea de comando es buena para una solución rápida, sin embargo, puede usar corredores de tareas como Grunt.js o Gulp.js para automatizar el proceso de compilación.
También puede agregar los ejemplos anteriores a los scripts npm. Para utilizar correctamente los scripts npm como alternativa a gulp, lea este artículo completo @ css-tricks.com, especialmente sobre tareas de agrupación .
- Si no hay ningún
package.json
archivo en el directorio de su proyecto, $ npm init
se creará uno. Úselo con -y
para omitir las preguntas.
- Agregar
"sass": "node-sass -w sass/ -o css/"
ascripts
en el package.json
archivo. Debería verse algo como esto:
"scripts": {
"test" : "bla bla bla",
"sass": "node-sass -w sass/ -o css/"
}
$ npm run sass
compilará sus archivos.
Cómo usar con gulp
$ npm install -g gulp
instala Gulp a nivel mundial.
- Si no hay
package.json
archivo en el directorio de su proyecto, $ npm init
se creará uno. Úselo con -y
para omitir las preguntas.
$ npm install --save-dev gulp
instala Gulp localmente. --save-dev
se suma gulp
adevDependencies
en package.json
.
$ npm install gulp-sass --save-dev
instala gulp-sass localmente.
- Configure gulp para su proyecto creando un
gulpfile.js
archivo en la carpeta raíz de su proyecto con este contenido:
'use strict';
var gulp = require('gulp');
Un ejemplo básico para transpilar
Agregue este código a su 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
ejecuta la tarea anterior que compila archivo (s) .scss en la sass
carpeta y genera archivo (s) .css en elcss
carpeta.
Para hacer la vida más fácil, agreguemos un reloj para que no tengamos que compilarlo manualmente. Agregue este código a su gulpfile.js
:
gulp.task('sass:watch', function () {
gulp.watch('./sass/**/*.scss', ['sass']);
});
¡Todo está listo ahora! Simplemente ejecute la tarea de vigilancia:
$ gulp sass:watch
Cómo usar con Node.js
Como implica el nombre de node-sass, puede escribir sus propios scripts de node.js para transpilar. Si tiene curiosidad, consulte la página del proyecto node-sass.
¿Qué pasa con libsass?
Libsass es una biblioteca que debe ser construida por un implementador como sassC o en nuestro caso node-sass. Node-sass contiene una versión construida de libsass que utiliza de forma predeterminada. Si el archivo de compilación no funciona en su máquina, intenta compilar libsass para su máquina. Este proceso requiere Python 2.7.x (3.x no funciona a partir de hoy). Adicionalmente:
LibSass requiere GCC 4.6+ o Clang / LLVM. Si su sistema operativo es más antiguo, es posible que esta versión no se compile. En Windows, necesita MinGW con GCC 4.6+ o VS 2013 Update 4+. También es posible construir LibSass con Clang / LLVM en Windows.
node-sass
está engulp-sass
las dependencias de , por lo que no es necesario instalarlo localmente.La instalación de estas herramientas puede variar según el sistema operativo.
En Windows, node-sass actualmente admite VS2015 de forma predeterminada, si solo tiene VS2013 en su caja y encuentra algún error mientras ejecuta el comando, puede definir la versión de VS agregando: --msvs_version = 2013. Esto se indica en la página npm de node-sass .
Entonces, la línea de comando segura que funciona en Windows con VS2013 es: npm install --msvs_version = 2013 gulp node-sass gulp-sass
fuente
En Windows 10 usando el nodo v6.11.2 y npm v3.10.10 , para ejecutar directamente en cualquier carpeta:
> node-sass [options] <input.scss> [output.css]
Solo seguí las instrucciones en node-sass Github :
Agregue los requisitos previos de node-gyp ejecutándose como administrador en un Powershell (lleva un tiempo):
> npm install --global --production windows-build-tools
En un shell de línea de comandos normal ( Win+ R+ cmd + Enter) ejecute:
> npm install -g node-gyp > npm install -g node-sass
Los
-g
lugares debajo de estos paquetes%userprofile%\AppData\Roaming\npm\node_modules
. Puede comprobar quenpm\node_modules\node-sass\bin\node-sass
ahora existe.Compruebe si la variable de entorno de su cuenta local (no el Sistema)
PATH
contiene:%userprofile%\AppData\Roaming\npm
Si esta ruta no está presente, npm y node aún pueden ejecutarse, ¡pero los archivos bin de los módulos no lo harán!
Cierre el shell anterior y vuelva a abrir uno nuevo y ejecute
> node-gyp
o> node-sass
.Nota:
windows-build-tools
puede no ser necesario (si no hay compilación se realiza? Me gustaría leer si alguien lo hizo sin necesidad de instalar estas herramientas), pero sí añadir a la cuenta de administrador de laGYP_MSVS_VERSION
variable de entorno con2015
un valor.> uglifyjs main.js main.min.js
y> mocha
fuente