Comment personnaliser les tâches Grunt
Parfois, nous devons écrire certaines de nos propres tâches, voici un exemple spécifique
1. Préparation
1. Créez un nouveau répertoire g1
2. Créez un nouveau package.json et placez-le dans g1
3 Créez un nouveau Gruntfile.js et placez-le dans g1
.
package.json
{
"nom": " g1",
"version": "0.1.0",
"author": "@snandy",
"homepage": "http://www.g1.com",
"devDependencies" : {
"grunt": "~0.4.0"
}
}
4. cd dans g1, npm install pour installer le package grunt
La structure complète du répertoire est la suivante
Gruntfile.js est temporairement vide.
2. Créez la tâche la plus simple
grunt.registerTask(taskName, [description,] taskFunction)
taskName nom de la tâche, utilisez grunt dans la ligne de commande taskName
description description de la tâche
taskFunction implémentation de la tâche
Remplissez le code dans Gruntfile.js
module.exports = function(grunt) {
grunt.registerTask('mytask', 'Une démonstration de tâche la plus simple, imprimer différentes sorties en fonction des paramètres.', function(arg1, arg2) {
.log.writeln('Tâche' this.name ", non paramètres passés");
} else if (arguments.length === 1) {
grunt.log.writeln('Task' this.name ", un paramètre est " arg1);
} else {
grunt.log.writeln('task' this.name ", il y a deux paramètres qui sont " arg1 ", " arg2);
}
});
};
Enregistrement d'une tâche "mytask" pour implémenter le moyen le plus simple d'obtenir différentes sorties d'impression en fonction des différents paramètres transmis. Pour voir les résultats en cours d'exécution, nous devons entrer dans la ligne de commande.
Allez dans le répertoire g1 et entrez grunt mytask
Entrez à nouveau Grunt mytask:snandy
Ajoutez deux points après le nom de la tâche pour transmettre les paramètres
Entrez grognement mytask:snandy:backus
Vous pouvez transmettre plusieurs paramètres séparés par deux points
3. Créez plusieurs tâches à la fois
grunt.registerMultiTask(taskName, [description,] taskFunction)
Vous pouvez voir que les paramètres sont les mêmes mais que les noms de méthodes sont différents. Mais la méthode d'utilisation est différente. Vous devez d'abord initialiser la configuration Gruntfile.js comme suit
.
module.exports = function(grunt) {
grunt.initConfig({
log : {
t1 : [1, 2, 3],
t2 : 'bonjour tout le monde',
t3 : faux
}
});
grunt.registerMultiTask('log', 'Journal des trucs.', function() {
grunt.log.writeln(this.target ': ' this.data);
});
};
Entrez dans le répertoire g1 et testez séparément
Entrez grognement, et trois sous-tâches t1, t2, t3 seront exécutées en séquence
Entrez respectivement grunt log:t1, grunt log:t2, grunt log:t3
4. Communication entre les tâches
Vous pouvez appeler une autre tâche au sein d'une tâche, comme suit
Copier le code Le code est le suivant :
module.exports = function(grunt) {
grunt.registerTask('mytask', 'La démonstration de tâche la plus simple, imprimer différentes sorties en fonction des paramètres.', function(arg1, arg2) {
if (arguments.length === 0) {
grunt.log.writeln('task' this.name ", aucun paramètre passé");
} else if (arguments.length == = 1) {
grunt.log.writeln('Task' this.name ", un paramètre est " arg1 .name ", il y a deux paramètres : " arg1 ", " arg2);
}
});
grunt.registerTask('default', 'Default task', function( ) {
Entrez la ligne de commande et tapez grunt
Pour appeler plusieurs tâches, transmettez-les simplement à la méthode run séparées par des virgules ou sous forme de tableau
Copier le code
Le code est le suivant :