我无法理解有时会出现在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");
};
在 grunt 中,支持这种嵌套的任务称为多任务,嵌套的对象称为目标。假设您有以下多任务:
concat: {
dist: {
src: ["<banner:meta.banner>", "<file_strip_banner:lib/main.js>"],
dest: "dist/main.js",
},
dev: {
(...)
}
}
这意味着您拥有多任务与其中的目标 dist 和 dev连接。您可以通过在控制台上键入任务名称来运行任何多任务的所有目标。例如:
grunt concat
将同时运行 concat 和 dev。另一方面,您还可以指定要显式运行的目标:
grunt concat:dist
将仅执行 dist 目标。
据我所知,如果你有两个具有相同名称目标的多任务(如你的示例min.dist和concat.dist),这并不意味着两个dist以某种方式引用了相同的东西,它们只是碰巧共享相同的名称。
就像答案所说的那样,那些或"多目标"..我在这里做了一个关于多任务的视频