2012-11-12 58 views
17

哪裏可以得到命令行參數的句柄?gruntjs - 命令行參數

例如grunt dist --env=UAT。如何獲得env的值?

雖然我在上面,但如果它沒有在命令行中設置,我將如何爲此分配默認值?

+0

你需要處理的論據一項具體任務? –

回答

36

您可以使用grunt.option()或者更具體地說:

var env = grunt.option('env') || 'default';

env參數或默認字符串'default'如果該參數不存在。

0

我發現在咕嚕聲中缺省處理非常缺乏。上面概述的方法是有效的,但是當你有很多選擇的時候,它很快就會變得令人厭煩。

小助手功能,可以緩解這樣的:

function defaultOptions(options) { 
    for(var key in options) { 
    if(options.hasOwnProperty(key) && !grunt.option(key)) { 
     grunt.option(key, options[key]); 
    } 
    } 
} 

然後,您可以使用,如:

defaultOptions({ 
    env : "staging" 
}); 

,並在CLI:

grunt // { env : "staging" } 
grunt --env=UAT // { env : "UAT" }