Compilar archivos SASS con gulp

Gulp - Automatiza tus tareas

En el post anterior pudimos ver el proceso a seguir para realizar la instalación de la herramienta Gulp.js y configuramos nuestro primer proyecto, que nos ayudará a compilar archivos SASS.

Recuerda revisar nuestro post anterior para ver el proceso de instalación y configuración de gulp paso a paso.

Para este post damos por sentado que tienes conocimientos básicos de SASS, en caso contrario te dejamos una buena guía aquí: https://sunlightmedia.org/es/sass/

Creando la carpeta para nuestro proyecto.

Creamos una carpeta llamada compilar-sass que será utilizada para almacenar los archivos de nuestro proyecto. Dentro de esta carpeta vamos a agregar dos carpetas con los siguientes nombres:

  • sass: En esta carpeta almacenaremos nuestros archivos SASS
  • css: En esta carpeta guardaremos el resultado de nuestros archivos SASS ya compilados a CSS

Preparando el proyecto

Creamos un archivo llamado package.json dentro de nuestro proyecto y agregamos el siguiente contenido:

Preparando el proyecto

Creamos un archivo llamado package.json dentro de nuestro proyecto y agregamos el siguiente contenido:

{
   "name": "compilar-archivos-sass",
   "version": "1.0.0",
   "description": "Aprendiendo a compilar archivos sass con gulp",
   "main": "gulp.js",
   "scripts": {
     "test": "echo \"Error: no test specified\" && exit 1"
   },
   "author": "",
   "license": "ISC",
   "devDependencies": {
     "gulp": "^4.0.2"
   }
 }

Agregando gulp.js a nuestro proyecto

Abrimos una terminal en la ruta de nuestro proyecto y ejecutamos la siguiente línea de código:

npm install --save-dev gulp

Este comando descargará los módulos necesarios para utilizar gulp en tu proyecto, al finalizar el proceso deberás de tener una estructura similar a la siguiente en tu actual carpeta.

Importamos la librería gulp y el modulo gulp-sass

const gulp = require( 'gulp' ); //Cargamos nuestro modulo gulp
const sass = require( 'gulp-sass') //Cargamos el modulo gulp sass

Creamos la tarea para realizar el proceso de compilado:

gulp.task('sass', function() { 
	return gulp.src('./sass/main.scss') //agregamos la ruta de nuestro archivo sass
		.pipe(sass.sync().on('error', sass.logError)) //Llamamos a la función Sass.sync() que realiza el compilado de sass
		.pipe(gulp.dest('./css/')); //Definimos el resultado del compilado que sería dentro de nuestra carpeta css
});

Guardamos nuestro archivo, y ejecutamos nuestra tarea con el siguiente comando en consola

$ gulp sass

Deberíamos tener el siguiente output.

Ahora podemos ver dentro de nuestro directorio css el resultado del sass compilado, aquí te dejo una comparativa:

SASS file

$primary-color: red;
$secondary-color: blue;
$padding-elements: 0px; 
.main-content{
    .p{
        font-size: 12px;
        color: $primary-color;
        a{
            color:black;
            text-decoration: none;
        }
    }
    h1{
        color:$secondary-color;
        font-style: bold;
        padding: $padding-elements;
    }
}

CSS File

.main-content .p {
  font-size: 12px;
  color: red; }
  .main-content .p a {
    color: black;
    text-decoration: none; }

.main-content h1 {
  color: blue;
  font-style: bold;
  padding: 0px; }

De esta manera podemos utilizar una de las muchas características de automatización que nos ofrece gulp, en las próximas entradas exploraremos más a fondo distintas propiedades, para sacarle el máximo provecho a esta herramienta.

Aquí te dejo el repositorio con el código para que puedas comparar tu resultados:

https://github.com/gumonet/posts-gulp/tree/master/compilar-sass