series()#

タスク関数や合成された操作を、順次実行されるより大きな操作に結合します。 `series()` と `parallel()` を使用した合成操作のネストの深さには制限がありません。

使用方法#

const { series } = require('gulp');
function javascript(cb) {
// 本文省略
cb();
}
function css(cb) {
// 本文省略
cb();
}
exports.build = series(javascript, css);

シグネチャ#

series(...tasks)

パラメータ#

パラメータ備考
tasks
(必須)
関数
文字列
任意の数のタスク関数を個別の引数として渡すことができます。タスクを事前に登録している場合は文字列を使用できますが、これは推奨されません。

戻り値#

タスクとして登録されるか、他の `series` または `parallel` の合成の中にネストされる合成操作。

合成操作が実行されると、すべてのタスクが順番に実行されます。1つのタスクでエラーが発生した場合、後続のタスクは実行されません。

エラー#

タスクが渡されない場合、「1つ以上のタスクをseriesまたはparallelを使用して結合する必要があります」というメッセージのエラーがスローされます。

無効なタスクまたは未登録のタスクが渡された場合、「タスクが定義されていません」というメッセージのエラーがスローされます。

前方参照#

前方参照とは、まだ登録されていないタスクを文字列参照を使用して合成することです。これは古いバージョンでは一般的な方法でしたが、タスクの実行時間を短縮し、名前付き関数の使用を促進するために、この機能は削除されました。

新しいバージョンでは、前方参照を使用しようとすると、「タスクが定義されていません」というメッセージのエラーが発生します。タスク登録に `exports` を使用*し*、文字列でタスクを合成しようとすると、このエラーが発生する可能性があります。このような場合は、文字列参照の代わりに名前付き関数を使用してください。

移行中は、前方参照レジストリを使用する必要がある場合があります。これにより、すべてのタスク参照にクロージャが追加され、ビルドが大幅に遅くなります。 **この修正に長く頼らないでください**。

タスクの重複を避ける#

合成操作が実行されると、各タスクは指定されるたびに実行されます。

2つの異なる合成で参照される `clean` タスクは2回実行され、望ましくない結果につながります。代わりに、 `clean` タスクを最終的な合成で指定するようにリファクタリングしてください。

次のようなコードがある場合

// これは間違っています
const { series, parallel } = require('gulp');
const clean = function(cb) {
// 本文省略
cb();
};
const css = series(clean, function(cb) {
// 本文省略
cb();
});
const javascript = series(clean, function(cb) {
// 本文省略
cb();
});
exports.build = parallel(css, javascript);

次のように移行してください

const { series, parallel } = require('gulp');
function clean(cb) {
// 本文省略
cb();
}
function css(cb) {
// 本文省略
cb();
}
function javascript(cb) {
// 本文省略
cb();
}
exports.build = series(clean, parallel(css, javascript));