2016-07-11 10 views
0

Zum Beispiel, ich habe so etwas wie dies:Wie grunt Task basierend auf Umgebungsvariablen ausgeführt wird?

if(ENV === 'production') { 
    grunt.registerTask('default', ['mkdir', 'copy', 'min']); // production 
    } else { 
    grunt.registerTask('default', ['mkdir', 'copy']); // dev 
    } 

wenn ich ENV=development grunt oder grunt tun, ich will dev Task ausgeführt werden, und wenn ich ENV=production grunt tun, ich will Produktionsaufgabe ausgeführt werden.

Ich kann nicht zwei Aufgaben registrieren: default-dev, default-prod und grunt default-dev oder grunt default-prod laufen.

Ich muss ENV-Variable verwenden, um anzugeben, welche Aufgabe ausgeführt werden soll.

+0

http://stackoverflow.com/a/33448470/1838811 Sie diese verwenden können, um 'ENV' zu bekommen und den Code verwenden Sie auf dem Laufenden – afuous

Antwort

2

Ersetzen Sie ENV durch process.env.NODE_ENV.

Siehe Node.js docs

if (process.env.NODE_ENV === 'production') { 
    grunt.registerTask('default', ['mkdir', 'copy', 'min']); // production 
} else { 
    grunt.registerTask('default', ['mkdir', 'copy']); // dev 
}