Javascript grunt.js文件中嵌套的对象文字是什么意思?

Javascript grunt.js文件中嵌套的对象文字是什么意思?,javascript,build,gruntjs,Javascript,Build,Gruntjs,我在理解嵌套时遇到困难,这种嵌套有时会出现在grunt.js文件中。在下面的示例中,嵌套对象如concat.dist和min.dist意味着什么?dist键是引用另一个命名任务,还是仅仅是一个配置对象?在执行concat和min任务时,究竟调用了什么 module.exports = function (grunt) { grunt.initConfig({ // … concat: { dist: { src: ["<banner:meta

我在理解嵌套时遇到困难,这种嵌套有时会出现在
grunt.js
文件中。在下面的示例中,嵌套对象如
concat.dist
min.dist
意味着什么?
dist
键是引用另一个命名任务,还是仅仅是一个配置对象?在执行
concat
min
任务时,究竟调用了什么

module.exports = function (grunt) {
  grunt.initConfig({
    // …
    concat: {
      dist: {
        src: ["<banner:meta.banner>", "<file_strip_banner:lib/main.js>"],
        dest: "dist/main.js",
      }
    },
    min: {
      dist: {
        src: ["<banner:meta.banner>", "<config:concat.dist.dest>"],
        dest: "dist/main.min.js",
      }
    },
    // …
  });

  // …
  grunt.registerTask("default", "lint qunit concat min");
};
module.exports=函数(grunt){
grunt.initConfig({
// …
康卡特:{
地区:{
src:[“”,“”],
dest:“dist/main.js”,
}
},
最小值:{
地区:{
src:[“”,“”],
dest:“dist/main.min.js”,
}
},
// …
});
// …
grunt.registerTask(“默认”、“lint qunit concat min”);
};

在grunt中,支持这种嵌套的任务称为,嵌套的对象称为目标。假设您有以下多任务:

 concat: {
    dist: {
       src: ["<banner:meta.banner>", "<file_strip_banner:lib/main.js>"],
       dest: "dist/main.js",
    },
    dev: {
       (...)
    }
 }
将同时运行concat和dev。另一方面,您还可以指定要显式运行的目标:

grunt concat:dist  
将仅执行距离目标


据我所知,如果您有两个目标名称相同的多任务(如示例min.dist和concat.dist),这并不意味着这两个dist以某种方式引用相同的对象,它们只是碰巧共享相同的名称。

如答案所述,这些或“多目标”。。我做了一个关于多任务的视频

我相信你所说的“目标”在gruntjs中被称为子任务。这里有一个多任务,它使用
dist
dev
作为示例子任务。在Grunt在github上的文档中,它们使用术语target:“您可以通过指定任务名称来运行任何多任务的所有目标。在这种情况下,运行Grunt lint将自动运行所有目标…”有趣的是,它看起来像“target”这是他们正式记录的内容,但子任务也在描述和示例中大量使用——特别是在任务回购上(因此删除了我提供的链接)。你知道这两个术语是否有区别吗?或者子任务是描述目标的“旧术语”?这一点很奇怪,特别是考虑到新的grunt用户可能会被它弄糊涂。grunt官方坚持使用“target”这个术语。有些扩展使用术语“子任务”,但意思相同。我想我甚至看到过一个项目将它们简单地称为“多任务子属性”。我想说应该使用'target',但是也要注意其他的。“
grunt-concat
将同时运行concat和dev”应该说“[…]将同时运行dist和dev”,也许你可以编辑@alemangui(因为我的编辑不被接受)。谢谢!
grunt concat:dist