Grunt.js;理解不同的配置

时间:2016-01-20 23:48:16

标签: javascript node.js gruntjs

我对Grunt.js真的很陌生,并且幸运地能够运行我已经安装的一些任务(例如watchuglify,{{ 1}})。当我尝试运行更多时,我经常遇到问题,尽可能多地尝试google / research,以便从头开始学习Grunt的工作原理。

然而,我对jslint的这两个配置感到困惑:

来自GitHub Repo for grunt-contrib-uglify

uglify

和这个(在uglify: { my_target: { files: { 'dest/output.min.js': ['src/input1.js', 'src/input2.js'] } } } 中适用于我):

Gruntfile.js

特别不是这些,但我注意到每个都使用了自己的单词(uglify: { build: { src: 'js/custom-script.js', dest: 'js/custom-script.min.js' } }, my-targetbuildsrc),结构我认为,因为Grunt都是javascript,所以这些都是dest格式,但我无法验证它们是否存在。

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

  • 是否有标准化的方式来撰写JSON
  • Gruntfile.js是否有任何保留字?我尝试在Gruntfile.js任务中将uglify更改为dest,但确实失败了,所以我对此表示赞同。
  • 如果上述两个问题中的任何一个是,那么这些资源/链接在哪里?我试图谷歌gibberish但是空了。唯一的标准似乎是Grunt本身提供的标准,但我很难通过引用它来让事情发挥作用。

1 个答案:

答案 0 :(得分:1)

这里有很多工作,并不是所有的配置都是平等的。参考文档是http://gruntjs.com/configuring-tasks,但这里是摘要:

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