lastRun()#

現在実行中のプロセスでタスクが最後に正常に完了した時刻を取得します。ウォッチャーの実行中に、後続のタスク実行で最も役立ちます。

src()と組み合わせると、前回のタスクの正常完了以降に変更されていないファイルをスキップすることで、実行時間を短縮するインクリメンタルビルドを実現できます。

使用方法#

const { src, dest, lastRun, watch } = require('gulp');
const imagemin = require('gulp-imagemin');
function images() {
return src('src/images/**/*.jpg', { since: lastRun(images) })
.pipe(imagemin())
.pipe(dest('build/img/'));
}
}
watch('src/images/**/*.jpg', images);
};

シグネチャ#

lastRun(task, [precision])

パラメータ#

パラメータ備考
task
(必須)
関数
文字列
タスク関数、または登録済みタスクの文字列エイリアス。
precision数値デフォルト:Node v0.10では`1000`、Node v0.12+では`0`。詳細は以下のタイムスタンプの精度セクションを参照してください。

戻り値#

タスクの最後の完了時刻に一致するタイムスタンプ(ミリ秒単位)。タスクが実行されていないか、失敗した場合、`undefined`を返します。

無効な状態がキャッシュされるのを避けるため、タスクがエラーになった場合、戻り値は`undefined`になります。

エラー#

文字列または関数以外の値で呼び出された場合、「関数のみがlastRunを確認できます」というメッセージのエラーをスローします。

拡張不可能な関数で呼び出され、NodeにWeakMapがない場合、「拡張可能な関数のみがlastRunを確認できます」というメッセージのエラーをスローします。

タイムスタンプの精度#

タイムスタンプの精度は適切なデフォルト値が設定されていますが、`precision`パラメータを使用して丸めることができます。ファイルシステムまたはNodeのバージョンでファイル時間の属性の精度が低い場合に役立ちます。

  • `lastRun(someTask)` は 1426000001111 を返します
  • `lastRun(someTask, 100)` は 1426000001100 を返します
  • `lastRun(someTask, 1000)` は 1426000001000 を返します

ファイルのmtime statの精度は、ノードのバージョンや使用されているファイルシステムによって異なる場合があります。

プラットフォームprecision
Node v0.101000ms
Node v0.12+1ms
FAT32ファイルシステム2000ms
HFS+またはExt3ファイルシステム1000ms
Node v0.10を使用するNTFS1秒
Node 0.12+を使用するNTFS100ms
Node v0.10を使用するExt41000ms
Node 0.12+を使用するExt41ms