gulp.task
Orchestratorを使用してタスク(task)を定義します。
gulp.task(name[, deps], fn)
gulp.task('somename', function() {
// タスクの処理をここに書きます
});
引数 | 説明 |
---|---|
name | タスク名を指定します。 コマンドライン上から実行したいタスクの場合は、空白を含めないでください。 |
deps |
型: このタスクを実行する前に、実行して完了させるタスクを配列で指定します。
注意:
ヒント: |
fn |
実行するタスク処理の関数を指定します。
一般的に、このタスクは |
非同期タスクのサポート
fn
が下記のいずれかを行う場合、タスクは非同期になります。
注意:
デフォルトでは、タスクは最大限並列処理されます。
例えば、全てのタスクが待機することなく一斉に実行されます。
もし、特定の順番で実行するタスクの種類分けをしたいのであれば、2つのことを行う必要があります。
- タスク完了時にそれを知らせ、
- 他のタスクの完了に依存するタスクの情報を与えます。
例をもとに確認するために、2つのタスクがあると仮定し、 "one"と"two"のタスクを下記の順に実行したいとします。
- タスク"one"では、タスクが完了した際にそれを通知する処理を追加します。 コールバックを取得して完了時にそのコールバックを呼び出すか、 解決(resovle)または終了を待つ必要のあるエンジンであるpromiseまたはstreamを返します。
- タスク"two"では、ひとつ目のタスクの完了に依存することを伝えます。
まとめると、この例は次のようになります。
var gulp = require('gulp');
// コールバックを受け取るため、エンジンは完了時にそれを知ることができます
gulp.task('one', function(cb) {
// 非同期または何かの処理
cb(err); // errがnullでもundefinedでもない場合、
// 実行は停止され、失敗したことが通知されます
});
// 開始前に完了していなければならない依存タスクを指定します
gulp.task('two', ['one'], function() {
// ここでは、タスク'one'は完了済み
});
gulp.task('default', ['one', 'two']);
© 2010 - 2017 STUDIO KINGDOM