如果--verbose标志打开,我的grunt任务怎么看?

问题描述 投票:0回答:1

我有一个Grunt任务,如果启用了--verbose命令行标志,我想向控制台回复更多信息。

使用grunt.option('verbose')无法确定该标志是否已打开。它似乎也不在grunt.package的任何地方。

如何在任务中查看用户是否设置了详细标志?

javascript gruntjs
1个回答
1
投票

这是因为grunt.option只适用于使用grunt的标志,它不会占用你提供的每个shell参数。

最简单的无模块解决方案是从process.argv解析你的标志,返回一个数组。你的旗帜将从第2位开始,所以如果--verbose是第一个参数,你可以通过process.argv[2] 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);
  });

并在你的shell中调用它

node testParams.js --argument1 -t. 

结果将如下所示

hakim@cortana:~/Sites/DOODLINGS $ node testParams.js --verbose -t
/usr/local/Cellar/node/7.5.0/bin/node
/Users/hakim/Sites/DOODLINGS/testParams.js
verbose
t

通过一些谷歌搜索,你可以找到模块为你提取参数。我不使用咕噜声,因此无法帮助你。

© www.soinside.com 2019 - 2024. All rights reserved.