Comment personnaliser les tâches grognées
Parfois, nous devons écrire certaines de nos propres tâches de grognement, voici un exemple spécifique
1. Préparation
1. Créer un nouveau répertoire G1
2. Créez un nouveau package.json et mettez-le dans G1
3. Créez un nouveau gruntfile.js et mettez-le dans G1
package.json
La copie de code est la suivante:
{
"nom": "G1",
"Version": "0.1.0",
"auteur": "@snandy",
"Homepage": "http://www.g1.com",
"DevDependces": {
"grognement": "~ 0.4.0"
}
}
4. Entrez G1 par CD, installez l'installation de NPM du package grogn
L'ensemble de la structure 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)
Nom de la tâche TaskName, utilisez Grunt + TaskName dans la ligne de commande
Description de la tâche
Implémentation de la tâche de fonction de tâche
Remplissez le code dans gruntfile.js
La copie de code est la suivante:
module.exports = fonction (grunt) {
grunt.registertask ('mytask', 'une démonstration de tâche la plus simple, imprime différentes sorties selon les paramètres.', fonction (arg1, arg2) {
if (arguments.length === 0) {
grunt.log.writeln ('tâche' + this.name + ", aucun paramètre passé");
} else if (arguments.length === 1) {
grunt.log.writeln ('tâche' + this.name + ", il y a un paramètre qui est" + arg1);
} autre {
grunt.log.writeln ('tâche' + this.name + ", il y a deux paramètres:" + arg1 + "," + arg2);
}
});
};
Une tâche "MyTask" a été enregistrée pour implémenter l'implémentation la plus simple de différentes impressions en fonction des paramètres passés. Nous devons entrer la ligne de commande en fonction des résultats en cours d'exécution.
Entrez le répertoire G1 et entrez Grunt Mytask
Entrez Grunt Mytask: Snandy
Ajoutez un côlon au nom de la tâche pour passer l'argument
Entrez Grunt Mytask: Snandy: Backus
L'intervalle du côlon peut passer plusieurs paramètres
3. Créez plusieurs tâches à la fois
grunt.registerMultitask (TaskName, [Description,] Taskfunction)
Vous pouvez voir que les paramètres sont les mêmes et que les noms de méthode sont différents. Mais la méthode d'utilisation est différente, vous devez d'abord initialiser la configuration, gruntfile.js est la suivante
La copie de code est la suivante:
module.exports = fonction (grunt) {
grunt.initconfig ({
enregistrer: {
T1: [1, 2, 3],
T2: «Hello World»,
T3: Faux
}
});
grunt.registerMultitask ('Log', 'Log Stuff.', Function () {
grunt.log.writeln (this.target + ':' + this.data);
});
};
Entrez le répertoire G1 et testez-le séparément
Entrez le grognement et trois sous-tâches seront exécutées tour à tour T1, T2, T3
Entrez le journal grogn: T1, grunt Log: T2, grunt Log: T3 respectivement
4. Communication inter-tâches
Une autre tâche peut être appelée à l'intérieur d'une tâche, comme suit
La copie de code est la suivante:
module.exports = fonction (grunt) {
grunt.registertask ('mytask', 'une démonstration de tâche la plus simple, imprime différentes sorties selon les paramètres.', fonction (arg1, arg2) {
if (arguments.length === 0) {
grunt.log.writeln ('tâche' + this.name + ", aucun paramètre passé");
} else if (arguments.length === 1) {
grunt.log.writeln ('tâche' + this.name + ", il y a un paramètre qui est" + arg1);
} autre {
grunt.log.writeln ('tâche' + this.name + ", il y a deux paramètres:" + arg1 + "," + arg2);
}
});
grunt.registerTask ('Default', 'Default', function () {
// Appelle Mytask
grunt.task.run ('mytask: param1: param2')
})
};
Entrez la ligne de commande et entrez le grognement
Appelez plusieurs tâches et passez-les à la méthode d'exécution séparée par des virgules, ou sous un formulaire de tableau
La copie de code est la suivante:
grunt.registerTask ('Default', 'Default', function () {
grunt.task.run ('mytask1', 'mytask2')
// ou
grunt.task.run (['mytask1', 'mytask2'])
})