コマンドライン引数のハンドルはどこで取得できますか?
例えばgrunt dist --env=UAT
。の値を取得するにはどうすればよいenv
ですか?
コマンドラインで設定されていない場合、これにデフォルト値を割り当てるにはどうすればよいですか?
コマンドライン引数のハンドルはどこで取得できますか?
例えばgrunt dist --env=UAT
。の値を取得するにはどうすればよいenv
ですか?
コマンドラインで設定されていない場合、これにデフォルト値を割り当てるにはどうすればよいですか?
以下を使用できますgrunt.option()
。具体的には、次のようになります。
var env = grunt.option('env') || 'default';
引数を取得するか、引数が存在しない場合はenv
デフォルトで文字列に設定します'default'
。
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" }