2012-11-12 18 views
17

ここで、コマンドライン引数のハンドルを取得できますか?gruntjs - コマンドライン引数

例えば、grunt dist --env=UATenvの値を取得するにはどうすればよいですか?

私はそれに慣れていますが、コマンドラインに設定されていない場合、これにどのようにデフォルト値を割り当てるのですか?

+0

あなたはの引数を処理する必要がありますか特定のタスクですか? –

答えて

36

あなたは、具体的grunt.option()以上を使用することができます。

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

を引数が存在しない場合は、文字列'default'env引数またはデフォルトをつかむために。

0

私はgruntのデフォルトの扱いが非常に不足していることがわかりました。上で概説した方法はうまくいきますが、たくさんのオプションがあるときはすばやく面倒です。

小さなヘルパー関数は、これを緩和することができます:

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" }