8

ファイルにときどき現れるネスティングを理解するのに苦労していgrunt.jsます。次の例では、ネストされたオブジェクトは何を好み、何concat.distmin.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");
};
4

2 に答える 2

10

grunt では、この種のネストをサポートするタスクはマルチ タスクと呼ばれ、ネストされたオブジェクトはターゲットと呼ばれます。次のマルチタスクがあるとします。

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

これは、その中にターゲットdistdevを含むマルチタスクconcatがあることを意味します。コンソールでタスクの名前を入力することにより、任意のマルチ タスクのすべてのターゲットを実行できます。例えば:

grunt concat

concat と dev の両方を実行します。一方、実行するターゲットを明示的に指定することもできます。

grunt concat:dist  

distターゲットのみを実行します。

私の知る限り、同じ名前のターゲットを持つ 2 つのマルチタスクがある場合 (例のmin.distconcat.distのように)、これは両方のdistが何らかの形で同じものを参照していることを意味するものではなく、たまたま共有しているだけです。同じ名前。

于 2012-11-25T01:45:35.073 に答える
0

回答の状態のように、それらまたは「マルチターゲット」..ここでマルチタスクに関するビデオを作成しました

于 2013-01-28T17:11:25.800 に答える