Grunt.js; 了解不同的configuration

我对Grunt.js非常陌生,并且能够运行一些我已经安装的任务(例如watchuglifyjslint )。 当我尝试运行更多的时候,我经常遇到问题并尽可能地尝试谷歌/研究,以从头学习Grunt的工作原理。

不过,我被这两个不同的configuration弄糊涂了:

从GitHub回购grunt-contrib-uglify

 uglify: { my_target: { files: { 'dest/output.min.js': ['src/input1.js', 'src/input2.js'] } } } 

和这个(在我的Gruntfile.js为我Gruntfile.js ):

 uglify: { build: { src: 'js/custom-script.js', dest: 'js/custom-script.min.js' } }, 

这不是特别的,但我注意到,每个使用自己的话( my-targetbuildsrcdest ),结构,语法等我认为,因为Grunt是所有的JavaScript,这些都将在JSON格式,虽然我无法validation他们是否。

在通过Grunt文档进行大量研究之后,通过包含插件的GitHub存储库以及随机的各种教程,我想我有一些主要问题:

  • 有没有一个标准的方式来编写一个Gruntfile.js
  • Gruntfile.js有没有保留字? 我已经尝试在我的uglify任务中改变dest这个词来dest ,而且确实失败了,所以我对此直言不讳。
  • 如果对上述两个问题中的任何一个是肯定的,这些资源/链接在哪里? 我试图谷歌"grunt glossary"但空了。 唯一的标准似乎是Grunt自己提供的标准,但我很难通过引用它来让事情工作。

在这里工作有很多东西,并不是所有的configuration都是一样的。 参考文档是http://gruntjs.com/configuring-tasks,但是这里有一个总结:

  • 最烦人的任务是所谓的“多目标” ,这意味着在您的构build过程中,您可以使用不同的参数调用任务多任务。 在configuration中,你的第一级是目标的名称,它是完全免费的(除了options ,见下文)。 在你的例子中,这些是buildmy_target名字。
  • 除了这些目标之外,还可能有一个传递给所有目标的options字段(保留关键字)
  • 在目标本身,grunt提供了一些保留的关键字,选项( options )和定义文件( srcdestfiles ,…参见http://gruntjs.com/configuring-tasks#files
  • 任务作者可自由定义自己的密钥,因此每个任务的文档都非常重要。