en Javascript, Workflow

Cómo empezar a automatizar tus tareas Grunt

Grunt es una herramienta que ser ha vuelto MUY popular en los ultimos tiempos ya que nos permite automatizar todo tipo de tareas en el cliente y como consecuencia mejorar nuestra productivadad en un 500%.

Estas automatizaciones se hacen imprescindibles cuando trabajamos con transcompiladores, o lenguajes que compilan a otros lenguajes (Coffeescript, SASS,…). Tambien si aplicamos metodologias TDD y queremos ser eficientes, necesitamos sistemas que nos permitan lanzar los tests de una manera rapida y sencilla.

Pues todo esto y mas cosas podemos hacer con Grunt.

features-grunt-big

¿Que es Grunt?

Esta herramienta fue lanzada en Marzo de 2012 por Ben Allman

Su autor la definió originalmente asi:

Grunt is a task-based command line build tool for JavaScript projects.

Que vendria a ser algo asi como:

Es una herramienta de build para proyectos Javascript que se ejecuta en modo comando en la consola y cuyo funcionamiento se basa en la definicion de tareas

O simplificando:

Es un ejecutador de tareas

Con la particularidad de que las tareas grunt se definen en Javascript, y de que podemos lanzarlas en modo comando desde la consola

Primeros pasos

Lo mas destacable de Grunt es la gran cantidad de plugins que tiene disponibles. Con ellos podremos crear tareas grunt para casi todo lo que necesitemos (minificar, chequeo de codigo, testing, concatenacion de archivos, uglify, transcompilacion, deploy…)

Tanto Grunt como sus plugins son paquetes que se instalan via npm, el gestor de paquetes de Node.js. NPM viene de “serie” con Node.js, si no los tienes instalados aún, puedes intalarlos facilmente desde aqui

Lo primero que hay que hacer para poder utilizar este ejecutador de tareas es instalar globalmente el paquete llamado Grunt’s CLI (Command Line Interface)

Con esto ya podemos empezar a utilizarlo tanto en proyectos nuevos como en proyectos existentes.

Archivos principales

package.json

El “Grunt runner” y todos los plugins que utilizemos en el proyecto se definen como dependencias en este archivo

Gruntfile.js

Las tareas grunt se definen/configuran y los plugins se cargan en este archivo javascript. Fijate que el formato es el de un modulo Node.js

Empezar a utilizar tareas Grunt

 En Proyectos existentes

Estos proyectos existentes ya dispondremos de un package.json donde estarán definidas todas las dependencias, asi que para instalarlas simplemente tendremoa que hacer

Por tanto, clonar un proyecto git en nuestro ordenador, instalar las dependencias (grunt inclusive) y lanzar las tareas definidas vendria a ser algo asi:

 En Proyectos nuevos

En proyectos nuevos tenemos que instalar tanto grunt como los plugins que queramos y añadirlos como dependencias del proyecto (en package.json). Podemos hacer todo esto de golpe con:

Fijate que despues de ejecutar este comando tendremos una carpeta node_modules con los modulos instalados y las dependencias añadidas en el package.json

Por ejemplo, crear un proyecto nuevo (con su package.json y su Gruntfile.js), instalar las correspondientes dependencias, definir nuestra primera tarea y lanzarla, vendria a ser algo asi:

Post Anterior
Post Siguiente