2012-11-06 5 views
6

Wenn der Befehl grunt in einer Windows-Shell im selben Pfad wie die Datei grunt.js ausgeführt wird, verwendet Windows die Option grunt.js mit dem Windows Script Host. The recommended path ist explizit zu rufen grunt.cmd.Betriebssystemunabhängiger grunt-Skriptbefehl in NPM package.json

Das ist alles gut und dandy, aber was kann ich tun, wenn ich einen OS-unabhängigen Skriptbefehl in meinem NPM package.json erstellen möchte? Ich kann das nicht, wenn ich auch in * nix laufen lassen möchte:

"scripts": { 
    "dox": "grunt.cmd dox" 
} 

Irgendwelche Zeiger? Oder gibt es ein großes Puzzleteil, das ich vermisse? (Ich bin genauso neu in NPM und Grunt).

Antwort

7

Ich habe die Lösung bei der Schaffung einer grunt.bat Datei gefunden, die grunt.cmd nur Anrufe:

 
@grunt.cmd %* 

daher auf Windows, nur grunt löst die Batch-Datei aufgerufen wird, da es Hosts Aufnehmen höhere Priorität als Windows Scripting bekommt von grunt.js. Unter Linux wird die reguläre grunt Binärdatei abgeholt. Das funktioniert jetzt plattformübergreifend für mich.

+1

Sollte $ *% sein? –

+0

@JasonDiamond Ja! Vielen Dank! Fest. –