Comenzando con gruntjs

Instalando Grunt

requisitos previos

Grunt requiere la instalación de Node.js y npm. Si no tiene instalado Node.js y/o npm en su máquina, vaya a https://nodejs.org y descargue el instalador o el paquete para su sistema operativo.

Instalación por primera vez

Si está instalando Grunt por primera vez, primero deberá instalar el paquete de interfaz de línea de comandos de Grunt grunt-cli globalmente.

npm install -g grunt-cli

Esto instala la interfaz de línea de comandos para Grunt globalmente para que pueda ejecutar la versión local de Grunt en su proyecto.

Puede verificar que tiene instalado el paquete grunt-cli ejecutando el siguiente comando:

grunt --version

Esto debería imprimir al menos la versión actual de su paquete grunt-cli.

Instalando Grunt en tu proyecto

Después de tener grunt-cli en funcionamiento, puede instalar el ejecutor de tareas real grunt y su primer paquete Grunt grunt-contrib-jshint:

npm install grunt --save-dev
npm install grunt-contrib-jshint --save-dev

Esto descarga los paquetes del administrador de paquetes NPM y los guarda como devDependencies en su archivo package.json.

archivo gruñido

A continuación, necesita un Gruntfile.js en la raíz de su proyecto que actúa como un archivo de configuración para las tareas de Grunt:

module.exports = function(grunt) {

    grunt.initConfig({
        jshint: {
            files: ['Gruntfile.js'],
        }
    });

    grunt.loadNpmTasks('grunt-contrib-jshint');


    grunt.registerTask('default', ['jshint']);
};

Este archivo hace tres cosas:

  1. Le dice a Grunt que cargue la tarea grunt-contrib-jshint del paquete NPM
  2. Aconseja que la tarea jshint se ejecute contra el archivo Gruntfile.js
  3. Crea una tarea Grunt llamada default que ejecuta la tarea jshint

Gruñido corriendo

Una vez que haya configurado su proyecto, puede ejecutar la tarea predeterminada de Grunt llamando a:

grunt

Esto activa grunt-cli que ejecuta el grunt local que busca una tarea Grunt llamada default que está configurada para ejecutar la tarea llamada jshint.

Ejecutar tareas

Tareas en configuración

Todos los atributos de grunt.initConfig son tareas válidas, por lo que si su archivo Grunt se ve así:

module.exports = function(grunt) {

    grunt.initConfig({
        jshint: {
            files: ['Gruntfile.js'],
        }
    });

    grunt.loadNpmTasks('grunt-contrib-jshint');


    grunt.registerTask('default', ['jshint']);
};

El comando de shell $ grunt jshint ejecutará la tarea jshint.

Tareas con objetivos

Las tareas pueden tener diferentes objetivos. Tome este fragmento de código, por ejemplo:

    grunt.initConfig({
        jshint: {
            gruntfile: {
                files: ['Gruntfile.js']
            },
            project: {
                files: 'src/**/*.js'
            }
        }
    });

Aquí, jshint puede apuntar al archivo grunt o a todos los archivos JavaScript de su proyecto. Si ejecutamos $ grunt jshint, se utilizarán ambos objetivos, pero si ejecutamos $ grunt jshint:gruntfile, el linter solo se aplicará al archivo grunt.

tareas registradas

Las tareas predeterminadas registradas como grunt.registerTask('default', ['jshint']); se ejecutarán con el comando de shell $ grunt.

Las nuevas tareas registradas se ejecutarán pasando su nombre como argumento de línea de comando a grunt. Por ejemplo:

grunt.registerTask('gruntfile', ['jshint:gruntfile']);

Se ejecutará con $ grunt gruntfile.

Ayuda

Ejecute grunt -h para ver lo siguiente:

  • Parámetros de línea de comando
  • Todas las tareas independientes disponibles en el Gruntfile del directorio actual
  • Todas las subtareas de cada conjunto de tareas en el Gruntfile del directorio actual