grunt.task

外部タスクの登録、実行、ロードを行います。 更に詳しく知りたければ、 task lib sourcetask util lib を確認してみてください。

タスクの実行中、Gruntは多くのタスク固有の汎用プロパティとメソッドを、タスク関数内から thisオブジェクトを通してアクセス可能にします。 これらのプロパティとメソッドの一覧を確認したければ、 Inside tasksガイドを 参照してください。

多くの汎用プロパティとメソッドは、タスク内からthisオブジェクトを通して利用可能です。

雪だるま付き(☃)のメソッドは、gruntオブジェクトからも利用可能です。 gruntのページで使用方法を確認してみてください。

grunt.task.registerTask ☃

"alias task"または、タスク関数を登録します。 このメソッドは下記の2つの特徴(使い方)をサポートします。

Alias task

タスク一覧が指定された場合、新しいタスクが1つ以上の他のタスクのエイリアスになります。 この"alias task"が実行される度に、taskListに指定された各タスクが指定された順に実行されます。 taskList引数は、タスクの配列でなければなりません。

grunt.task.registerTask(taskName, taskList)

この例では、"jshint"、"qunit"、"concat"、"uglify"による、"default"エイリアスタスクを定義しており、 Gruntの実行時に他のタスクが指定されなければ、自動的にこれらが実行されます。

task.registerTask('default', ['jshint', 'qunit', 'concat', 'uglify']);

タスクの引数も同様に指定できます。 この例のエイリアス"dist"は、"concat"と"uglify"タスクにそれぞれ"dist"引数を指定して実行します。

task.registerTask('dist', ['concat:dist', 'uglify:dist']);

Function task

もし、descriptiontaskFunctionが渡されると、 指定された関数が、タスクが実行される度に呼び出されるようになります。 更に、指定されたdescriptionは、grunt --helpが実行されると表示されるようになります。 指定されたタスクのプロパティとメソッドは、タスク関数内からthisオブジェクトの プロパティとして利用可能です。 タスク関数は、falseを返すことで、そのタスクが失敗した事を指し示すことが出来ます。

下記のgrunt.task.registerMultiTaskメソッドは、"マルチタスク"と呼ばれる特別なタスクを 定義する際に使用されることに注意してください。

grunt.task.registerTask(taskName, description, taskFunction)

例として、Gruntでgrunt foo:testing:123と実行すれば、foo, testing 123が ログ出力されます。もし、引数なしでgrunt fooで実行すれば、foo, no argsがログ出力されます。

grunt.task.registerTask('foo', 'A sample task that logs stuff.', function(arg1, arg2) {
  if (arguments.length === 0) {
    grunt.log.writeln(this.name + ", no args");
  } else {
    grunt.log.writeln(this.name + ", " + arg1 + " " + arg2);
  }
});

タスクとエイリアスタスクの更に詳しい情報を知りたい場合は、 タスクの作成を参照してください。

このメソッドは、grunt.registerTaskでも利用可能です。

grunt.task.registerMultiTask ☃

"マルチタスク"を登録します。 マルチタスクはターゲットが指定されない場合、そのサブプロパティ(別名:ターゲット)として 暗黙のうちに繰り返し処理されるタスクです。 デフォルトのプロパティとメソッドに加えて、マルチタスク固有のプロパティは、 thisオブジェクトのプロパティとして、タスク、関数の内部で利用可能です。

多くのcontribタスクは、 jshint taskconcat taskuglify task を含んだマルチタスクです。

grunt.task.registerMultiTask(taskName, description, taskFunction)

特定の設定が与えられると、例としてgrunt log:fooと実行すれば、foo:1,2,3をログ出力し、 また、grunt bar:barと実行すればbar: hello worldをログ出力します。 ただし、grunt logと実行すると、foo: 1,2,3bar: hello worldbaz: falseとそれぞれ順に出力します。

grunt.initConfig({
  log: {
    foo: [1, 2, 3],
    bar: 'hello world',
    baz: false
  }
});

grunt.task.registerMultiTask('log', 'Log stuff.', function() {
  grunt.log.writeln(this.target + ': ' + this.data);
});

タスクとエイリアスタスクの更に詳しい情報を知りたい場合は、 タスクの作成を参照してください。

このメソッドは、grunt.registerTaskでも利用可能です。

grunt.task.renameTask ☃

タスク名を変更します。 元のタスクの名前を保持したまま、タスクのデフォルトの挙動を上書きしたい場合に有用かもしれません。

タスク名が変更された場合、this.namethis.nameArgsプロパティは、それに沿って変更されることに注意してください。

grunt.task.renameTask(oldname, newname)

このメソッドは、grunt.renameTaskとしても利用可能です。

多くのプロジェクトで、タスクはGruntfile内で定義されていますが、 規模の大きなプロジェクト、またはプロジェクトをまたいでタスクを共有する必要がある場合び、 1つ以上の外部ディレクトリ、またはNpmによってインストールされたgruntプラグインによって、 タスクをロードすることが可能です。

grunt.task.loadTasks ☃

タスクに関連するファイルを指定したディレクトリからロードし、Gruntfileに関連づけます。 このメソッドは、そのプラグインの"tasks"サブディレクトリへのパスを指定することで、ローカルのgruntプラグインから タスクに関連するファイルをロードするために使用することが出来ます。

grunt.task.loadTasks(tasksPath)

このメソッドは、grunt.loadTasksとしても使用可能です。

grunt.task.loadNpmTasks ☃

指定したGruntプラグインからタスクをロードします。 このプラグインは、ローカルのnpmを通してインストールされてGruntfileに関連付けられていなければなりません。 Gruntプラグインは、 grunt-init gruntplugin templategrunt init:gruntpluginによって作成することが出来ます。

grunt.task.loadNpmTasks(pluginName)

このメソッドは、grunt.loadNpmTasksとしても使用可能です。

Gruntは自動的にキュー登録し、コマンドライン上で指定された全てのタスクを実行しますが、 個々のタスクが追加タスクをキュー登録し、実行することが可能です。

grunt.task.run

1つ以上のタスクをキュー登録します。 taskListで指定された各タスクは、現タスクが完了次第、指定された順で即座に実行されます。 taskListにはタスクの配列、または個々のタスクを引数として渡します。

grunt.task.run(taskList)

grunt.task.clearQueue

タスクのキューを完全に空にします。 追加タスクがキュー登録されない限り、それ以上タスクは実行されません。

grunt.task.clearQueue()

grunt.task.normalizeMultiTaskFiles

タスクのターゲット設定オブジェクトをsrc-destファイルマッピングの配列に正規化します。 このメソッドは、内部のマルチタスクシステムのthis.files / grunt.task.current.files プロパティで使用されます。

grunt.task.normalizeMultiTaskFiles(data [, targetname])

 Back to top

© 2010 - 2017 STUDIO KINGDOM