0
我有一個Grunt任務,如果--verbose
命令行標誌打開,我想回復一些更多的信息到控制檯。我的咕嚕聲如何判斷--verbose標誌是否打開?
查明該標誌是否打開不可能與grunt.option('verbose')
。它似乎也不在grunt.package
的任何地方。
如何從任務中看到用戶是否設置了詳細標誌?
我有一個Grunt任務,如果--verbose
命令行標誌打開,我想回復一些更多的信息到控制檯。我的咕嚕聲如何判斷--verbose標誌是否打開?
查明該標誌是否打開不可能與grunt.option('verbose')
。它似乎也不在grunt.package
的任何地方。
如何從任務中看到用戶是否設置了詳細標誌?
這是imho,因爲grunt.option
只適用於咕嚕使用的標誌,它並不需要你提供的每個shell參數。
最模糊的解決方案是解析來自process.argv[2]
的標誌,該標誌返回一個數組。 您的旗幟將在位置開始,所以如果--verbose
是第一個參數,你會要求它通過process.argv
How do I pass command line arguments?
,您可以輕鬆創建一個JavaScript文件
var args = process.argv;
process.argv.forEach((val, index, array) => {
var flag = val.replace(new RegExp('-', 'g'), '');
console.log(flag);
});
,並調用它測試在你的外殼node testParams.js --argument1 -t
。結果看起來像這樣
[email protected]:~/Sites/DOODLINGS $ node testParams.js --verbose -t
/usr/local/Cellar/node/7.5.0/bin/node
/Users/hakim/Sites/DOODLINGS/testParams.js
verbose
t
隨着一些谷歌搜索,你可以找到模塊來爲你提取參數。我不使用咕嚕聲,所以無法幫助你。
可能重複的[我如何傳遞命令行參數?](https://stackoverflow.com/questions/4351521/how-do-i-pass-command-line-arguments) –
我爲你發佈了一個答案,但也標記你的問題作爲dup的https://stackoverflow.com/questions/4351521/how-do-i-pass-command-line-arguments/4351548 –