Grunt.js; 了解不同的configuration
我对Grunt.js非常陌生,并且能够运行一些我已经安装的任务(例如watch
, uglify
, jslint
)。 当我尝试运行更多的时候,我经常遇到问题并尽可能地尝试谷歌/研究,以从头学习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-target
与build
, src
, dest
),结构,语法等我认为,因为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
,见下文)。 在你的例子中,这些是build
和my_target
名字。 - 除了这些目标之外,还可能有一个传递给所有目标的
options
字段(保留关键字) - 在目标本身,grunt提供了一些保留的关键字,选项(
options
)和定义文件(src
,dest
,files
,…参见http://gruntjs.com/configuring-tasks#files ) - 任务作者可自由定义自己的密钥,因此每个任务的文档都非常重要。