我对 Grunt.js 非常陌生,并且很幸运能够运行我安装的一些任务(例如 watch
、 uglify
、 jslint
)。当我尝试运行更多时,我经常会遇到问题,并尝试尽可能多地进行谷歌/研究,以便从头开始了解 Grunt 的工作原理。
但是,我对不同的配置感到困惑,比如这两个 uglify
:
来自 grunt-contrib-uglify 的 GitHub 存储库
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-target
与 build
、 src
、 dest
)、结构、语法等。我认为,由于 Grunt 都是 javascript,所以这些都将在 JSON
中。格式,尽管我无法验证它们是否是。
在对 Grunt 文档进行了大量研究、浏览了包含插件的 GitHub 存储库以及随机的各种教程之后,我想我有一些主要问题:
- 有没有标准化的方法来编写
Gruntfile.js
? Gruntfile.js
有保留字吗的?我尝试过改变我的uglify
任务这个词dest
至gibberish
,而且它确实失败了,所以我的直觉说是。- 如果以上两个问题中的任何一个的答案是肯定的,这些资源/链接在哪里?我尝试谷歌
"grunt glossary"
但结果却空空如也。唯一的标准似乎是 Grunt 本身提供的标准,但我很难通过仅引用它来让事情正常工作。
最佳答案
这里有很多事情在起作用,并不是所有的配置都是一样的。引用文档是http://gruntjs.com/configuring-tasks但这里有一个摘要:
- 大多数繁重任务都是所谓的 "multi-targets" ,这意味着在构建过程中您可以使用不同的参数将该任务称为多个任务。在配置中,您的第一级是目标的名称,并且它是完全免费的(
选项
除外,见下文)。在您的示例中,这些是build
和my_target
名称。 - 除了这些目标之外,您还可能有一个传递给所有目标的
options
字段(保留关键字) - 在目标本身中,grunt 提供了一些保留关键字,用于选项 (
options
) 和定义文件 (src
,dest
,文件
,...参见 http://gruntjs.com/configuring-tasks#files ) - 并且任务作者可以自由定义自己的 key ,因此每个任务的文档非常重要。
关于javascript - Grunt.js;了解不同的配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34912880/