Ответ 1
Вы можете использовать grunt.option()
или более конкретно:
var env = grunt.option('env') || 'default';
чтобы захватить аргумент env
или по умолчанию строку 'default'
, если аргумент отсутствует.
Где я могу получить дескриптор аргументов командной строки?
eg 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" }