web-dev-qa-db-fra.com

Passer des options à une tâche de grognement tout en l'exécutant

Je pensais qu'il y avait un moyen de le faire et que j'avais déjà trébuché dessus. J'ai lu ces réponses mais ce n'est pas ce dont je parle:

Passer par programmation des arguments à la tâche de grognement?

option conditionnelle Grunt

Accès au processus/environnement à partir d'un modèle de grognement

J'ai aussi regardé les documents grognants mais ce n'est pas là:

https://github.com/gruntjs/grunt/wiki/Configuring-tasks

Existe-t-il une syntaxe comme celle-ci?

grunt.task.run 'htmlmin:allFiles:collapseWhitespace=true'

31
SimplGy

Vous pouvez utiliser cette syntaxe mais cela signifie passer ces arguments à la tâche htmlmin: allFiles, 'collapse=true'.

Par exemple, étant donné la tâche suivante:

grunt.registerTask('so', function(arg1, arg2) {
   console.log(arg1 + ", " + arg2); 
}); 

Fonctionnement:

grunt so:barley:test=true

Donne la sortie suivante:

barley, test=true

Il existe d'autres façons de transmettre des paramètres/partager des informations décrites dans la FAQ: Comment puis-je partager des paramètres sur plusieurs tâches?

- Options peut vous être applicable

Une autre façon de partager un paramètre entre plusieurs tâches serait d'utiliser grunt.option. Dans cet exemple, l'exécution de grunt deploy --target=staging Sur la ligne de commande entraînerait le retour de "staging" par grunt.option('target').

55
dc5