Подтвердить что ты не робот

Gruntjs - аргументы командной строки

Где я могу получить дескриптор аргументов командной строки?

eg grunt dist --env=UAT. Как получить значение для env?

Пока я нахожусь, как бы присвоить значение по умолчанию этому, если оно не установлено в командной строке?

4b9b3361

Ответ 1

Вы можете использовать grunt.option() или более конкретно:

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

чтобы захватить аргумент env или по умолчанию строку 'default', если аргумент отсутствует.

Ответ 2

Я считаю, что обработка дефолтов в 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" }