Grunt(节点) – 如何显示可用的任务?

虽然习惯使用Rakefile,Cakefile和Jakefile,但他们都有一些方便的方式列出可用的任务。

喜欢

jake -T jake db:dump # Dump the database jake db:load # Populate the database 

..等等。

甚至过滤“jake -T dum”,只显示“jake db:dump”任务。

那么,有没有办法使用grunt来做同样的事情呢? 我想创build一个默认的任务迭代整个gruntconfiguration对象,并通过console.log写入到标准输出,但有人知道一个更好的方法?

谢谢。

grunt –help列出可用的任务,按照下面的答案 。

输出示例

 ..... Available tasks clean Clean files and folders. * jade Compile jade templates. * web_server A Web Server similar to Python's SimpleHTTPServer, with Cross-Origin Resource Sharing and No-Cache options. * 

据我所知,唯一的方法(显然没有黑客)显示可用的任务是使用-h--help选项。

正如你在grunt-cli源码中所看到的,他们显然只关心-h (帮助),- -V (版本)和-v (详细)选项。

所以,我认为目前您必须创build自己的自定义任务才能达到目标。

有一个更好的方法! 我目前正在做一个单独的插件, grunt-available-tasks来实现这个function。 将其添加到您的项目中:

 npm install grunt-available-tasks --save-dev 

然后运行grunt availabletasks来获取你的任务列表。 你可能想用别名来保存一些input:

 grunt.registerTask('tasks', ['availabletasks']); 

然后,用一些configuration你可以得到这样的列表:

 $ grunt tasks Running "availabletasks" task Deployment Tasks doc => Build the documentation. production => Build a complete distribution for production; stricter linting and a full browser test. Development Tasks default => Build a development distribution. watch > Run predefined tasks whenever watched files change. Done, without errors. 

您可以使用Gruntfile中的configuration对象筛选,分组和sorting任务。 README中提供了一个完整的选项列表 。