我在哪里可以获得命令行参数的句柄?
例如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" }