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

时间:2013-01-04 01:53:28

标签: javascript node.js command-line-interface gruntjs jake

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

jake -T 

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

...等。

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

那么,有没有办法使用grunt做同样的事情? 我在考虑创建一个默认任务来迭代整个grunt配置对象并通过console.log将其写入stdout,但有人知道更好的方法吗?

感谢。

3 个答案:

答案 0 :(得分:16)

grunt --help按照以下answer列出可用任务。

示例输出

.....

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. *   

答案 1 :(得分:11)

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

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

所以,我认为目前您必须创建自己的自定义任务才能实现目标。

答案 2 :(得分:9)

有更好的方法!我目前正在开发一个单独的插件grunt-available-tasks来实现此功能。使用以下命令将其添加到项目中:

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

然后运行grunt availabletasks以获取您的任务列表。您可能希望使用tasks对此进行别名以节省一些输入:

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

然后,通过一些配置,您可以获得如下列表:

$ 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中的配置对象对任务进行过滤,分组和排序。 README中提供comprehensive list of options