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



我无法理解有时会出现在grunt.js文件中的嵌套。在下面的示例中,concat.distmin.dist 等嵌套对象是什么意思?dist键是引用另一个命名任务,还是只是一个配置对象?执行concatmin任务时到底叫什么?

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");
};

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

 concat: {
    dist: {
       src: ["<banner:meta.banner>", "<file_strip_banner:lib/main.js>"],
       dest: "dist/main.js",
    },
    dev: {
       (...)
    }
 }

这意味着您拥有多任务与其中的目标 distdev连接。您可以通过在控制台上键入任务名称来运行任何多任务的所有目标。例如:

grunt concat

将同时运行 concat 和 dev。另一方面,您还可以指定要显式运行的目标:

grunt concat:dist  

将仅执行 dist 目标。

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

就像答案所说的那样,那些或"多目标"..我在这里做了一个关于多任务的视频

最新更新