2013-06-09 2 views
18

Sto usando le opzioni della riga di comando nel mio script grugnito: http://kurst.co.uk/transfer/Gruntfile.jsGrunt - Argomenti della riga di comando, non lavorano

Tuttavia il comando grunt --vers:0.0.1 sempre restituisce 'undefined' quando cerco di ottenere l'opzione:

var version = grunt.option('vers') || ''; 

Puoi aiutarmi a farlo funzionare?

ho provato diversi (CLI):

grunt vers:asd 
grunt -vers:asd 
grunt vers=asd 

così come usando:

grunt.option('-vers'); 
grunt.option('--vers'); 

ma senza fortuna finora. Spero che manchi qualcosa di semplice.

Questo è il mio file package.js:

{ 
    "name": "", 
    "version": "0.1.0", 
    "description": "Kurst EventDispatcher/Docs Demo ", 
    "devDependencies": { 
     "grunt": "~0.4.1", 
     "grunt-contrib-yuidoc": "*", 
     "grunt-typescript": "~0.1.3", 
     "uglify-js": "~2.3.5", 
     "grunt-lib-contrib": "~0.6.0", 
     "grunt-contrib-uglify":"*" 
    } 
} 
+0

Eventuali duplicati di [Grunt Parametri riga di comando] (http://stackoverflow.com/questions/20127586/grunt-command-line-parameters) – Claudiu

risposta

37

La sintassi corretta per specificare un command line argument in Grunt è:

grunt --option1=myValue

Poi, nel file di grugnito è possibile accedere al valore e stampare così:

console.log(grunt.option("option1"));

Inoltre, un altro motivo si sono probabilmente hanno problemi con --vers è perché la sua già un'opzione grugnito che restituisce la versione:

★ grunt --vers 
grunt-cli v0.1.7 
grunt v0.4.1 

Così probabilmente sarebbe una buona idea per passare a un nome di un'opzione diversa.

+0

perfetto che ha funzionato a meraviglia . Grazie ... – user2386872

+3

Non so perché ho avuto così tanto tempo a trovarlo nella documentazione dei grunt. Grazie mille! – mmmeff

3

Vale la pena ricordare che, man mano che aumenta la quantità di argomenti da utilizzare, si ottiene in collisioni con alcuni argomenti utilizzati internamente da grunt.

ho avuto questo problema con nopt-grunt

Dall'autore Plugin:

Grunt è impressionante. Il supporto di Grunt per l'utilizzo di ulteriori opzioni da riga di comando non è eccezionale. La documentazione attuale è fuorviante in quanto forniscono esempi di utilizzo di flag booleani e opzioni con valori, ma non ti dicono che funziona solo in questo modo con una singola opzione. Prova e usa più di un'opzione e le cose si disgregano rapidamente.

E 'sicuramente la pena di verificare

+2

Questo plug-in è stato deprecato e non viene più gestito. Grunt ha corretto i problemi che hanno reso questo plugin utile. – PeterM