17

コマンドライン引数のハンドルはどこで取得できますか?

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

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

4

2 に答える 2

36

以下を使用できますgrunt.option()。具体的には、次のようになります。

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

引数を取得するか、引数が存在しない場合はenvデフォルトで文字列に設定します'default'

于 2012-11-13T07:10:59.367 に答える
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" }
于 2015-10-01T09:36:49.690 に答える