2013-01-04 4 views
21

Während sie gewohnt waren, Rakefile, Cakefile und Jakefile zu verwenden, hatten sie alle eine bequeme Möglichkeit, die verfügbaren Aufgaben aufzulisten.Grunt (Knoten) - Wie verfügbare Aufgaben angezeigt werden?

Wie

jake -T 

jake db:dump  # Dump the database 
jake db:load  # Populate the database 

..etc.

oder sogar Filterung "jake -T dum", nur Show „der "jake db:. Dump" Aufgabe

So ist es eine Möglichkeit, das gleiche mit Grunzen zu tun dachte ich an? vielleicht eine Standard-Aufgabe, die gesamte Grunzen Config Objekt iteriert und schreiben sie es über console.log nach stdout, aber weiß jemand einen besseren Weg?

Dank.

+1

Ich will nicht meine eigene Frage beantworten, aber ich kam mit einem extrem schmutzigen zerhacken. 'grunt -h | sed -e '/ Verfügbare Tasks /,/Tasks run /! d'' Sicher jemand mit Erfahrung kann sich etwas besseres einfallen lassen? :) – borestad

Antwort

11

Soweit ich die einzige Art und Weise kennen (natürlich ohne Hacks), um die verfügbaren Aufgaben anzuzeigen, verwenden Sie die -h oder --help opt Ion.

Wie Sie in grunt-cli source sehen sie klar darauf achten, über nur -h (Hilfe), -V (Version) und -v (ausführlich) Optionen.

Also, ich denke, dass Sie derzeit Ihre eigene benutzerdefinierte Aufgabe erstellen müssen, um Ihr Ziel zu erreichen.

9

Es gibt einen besseren Weg! Ich arbeite gerade an einem separaten Plugin, grunt-available-tasks, um diese Funktionalität zu erreichen. Fügen Sie es zu einem Projekt mit:

npm install grunt-available-tasks --save-dev 

Dann grunt availabletasks führen eine Liste Ihrer Aufgaben zu bekommen. Sie können mit tasks diese Aliasnamens wollen einige Eingabe speichern:

grunt.registerTask('tasks', ['availabletasks']); 

Dann mit etwas Konfiguration können Sie Listen erhalten wie diese:

$ grunt tasks 
Running "availabletasks" task 

Deployment Tasks 
doc    => Build the documentation. 
production   => Build a complete distribution for production; stricter linting and a full browser test. 

Development Tasks 
default   => Build a development distribution. 
watch    > Run predefined tasks whenever watched files change. 

Done, without errors. 

Sie können filtern, gruppieren und sortieren Aufgaben ein mit Konfigurationsobjekt in Ihrer Gruntdatei. A ist in der README verfügbar.

+0

Task "availabletasks" nicht gefunden. Aus dem gleichen Grund, aus dem ich versuche, verfügbare Aufgaben aufzulisten (Fehlerbehebung). – rainabba

+1

Ich denke, ich habe diese Antwort gepostet, bevor ich die Aufgabe zu einer Multi-Task gemacht habe; Sie müssen etwas tun wie grunt.initConfig ({availabletasks: {tasks: {}}}); - Finden Sie den Rest der Optionen in der README. :-) – Ben

15

grunt --help listet verfügbare Aufgaben auf, wie im Folgenden beschrieben answer.

Beispiel Ausgabe

..... 

Available tasks 
      clean Clean files and folders. *         
       jade Compile jade templates. *         
     web_server A Web Server similar to Python's SimpleHTTPServer, with 
       Cross-Origin Resource Sharing and No-Cache options. * 
+1

Dies ist die richtige Antwort und sollte nach oben gewählt werden. –

+0

Dies sollte die akzeptierte Antwort sein ... – daviesgeek

+0

Die Antwort [unten] (https: // stackoverflow.com/a/20229531/3384609) ist besser – Clintm

Verwandte Themen