Saltar al contenido

¿Como Empezar a Usar Grunt?

5 junio, 2019

Grunt es un corredor de tareas de Javascript de línea de comandos que utiliza la plataforma Node.js. Ejecuta tareas repetitivas personalizadas definidas. ¿Como Crear Nuestra primera Tarea con Grunt?

La página de inicio del proyecto enumera a muchos jugadores importantes en el desarrollo de software que utilizan Grunt en su desarrollo como parte del flujo de trabajo de integración continua.

¿Como Crear Nuestra Primera Tarea con Grunt?

Las cosas que haces con más frecuencia, como jshint o nodeunit. Cada vez que se ejecuta, usted especifica una o más tareas para ejecutar, lo que le dice a Grunt lo que le gustaría que hiciera.

Si no especifica una tarea, pero se ha definido una tarea llamada “predeterminada“, esa tarea se ejecutará (como era de esperar) de manera predeterminada.

Tareas de Alias

Si se especifica una lista de tareas, la nueva tarea será un alias para una o más tareas. Siempre que se ejecute estatarea de alias“.

Se ejecutarán todas las tareas especificadas en la lista de tareas, en el orden especificado. El argumento taskList debe ser una matriz de tareas.

grunt.registerTask (taskName, [description,] taskList)

Esta tarea de alias de ejemplo define una tarea “predeterminada” mediante la cual las tareas “jshint“, “qunit“, “concat” y “uglify” se ejecutan automáticamente si Grunt se ejecuta sin especificar ninguna tarea:

grunt.registerTask ('default', ['jshint', 'qunit', 'concat', 'uglify']);

Los argumentos de la tarea también se pueden especificar. En este ejemplo, el alias “dist” ejecuta las tareas “concat” y “uglify“, cada una con un argumento “dist“:

grunt.registerTask ('dist', ['concat: dist', 'uglify: dist']);

Múltiples Tareas

Cuando se ejecuta una tarea múltiple, Grunt busca una propiedad con el mismo nombre en la configuración de Grunt. Las tareas múltiples pueden tener configuraciones múltiples, definidas “objetivos” arbitrariamente nombrados.

Al especificar una tarea y un objetivo como grunt concat: foo o grunt concat: bar, solo se procesará la configuración del objetivo especificado.

Mientras que la ejecución de grunt concat se repetirá en todos los objetivos, procesándolos a su vez. Si renombra con grunt.task.renameTask, Grunt buscará una propiedad con el nuevo nombre de tarea en el objeto de configuración.

La mayoría de las tareas de contribución, incluidas la tarea jshint del complemento grunt-contrib-jshint y la tarea concat del complemento grunt-contrib-concat, son tareas múltiples.

grunt.registerMultiTask (taskName, [description,] taskFunction)

Dada la configuración especificada, esta multitarea de ejemplo registraría foo: 1,2,3 si Grunt se ejecutó a través de grunt log: foo, o registraría bar: hello world si Grunt se ejecutará a través de grunt log: bar.

Sin embargo, si Grunt se ejecutará como registro de grunt, se registraría foo: 1,2,3 y luego bar: hello world then baz: false.

grunt.initConfig ({
Iniciar sesión: {
foo: [1, 2, 3],
bar: 'hola mundo',
baz: falso
}
});

grunt.registerMultiTask ('log', 'Log stuff.', function () {
grunt.log.writeln (this.target + ':' + this.data);
});

Tareas Básicas

Cuando se ejecuta una tarea básica, Grunt no mira la configuración o el entorno; simplemente ejecuta la función de tarea especificada, pasando cualquier argumento especificado separado por dos puntos como argumentos de función.

grunt.registerTask (taskName, [description,] taskFunction)

Esta tarea de ejemplo registra foo, probando 123 si Grunt se ejecuta a través de grunt foo: testing: 123. Si la tarea se ejecuta sin argumentos como grunt foo, la tarea registra foo, no args.

grunt.registerTask ('foo', 'Una tarea de ejemplo que registra cosas.', función (arg1, arg2) {
si (argumentos.longitud === 0) {
grunt.log.writeln (this.name + ", no args");
} else {
grunt.log.writeln (this.name + "," + arg1 + "" + arg2);
}
});
¿Nos das 5 estrellas? ?