Open6
next/image をソースコードから理解したい。(サーバーサイド編)
ピン留めされたアイテム
これの続き
imageOptimizerCache.get
を理解したい
キャッシュからレスポンス or キャッシュの生成とレスポンス (コード)
前述のコレのこと。
呼び出し部。
第1引数がキー
第2引数がキャッシュの値を作る関数
第3引数はオプション?。渡しているincrementalCache: imageOptimizerCache
はImageOptimizerCache
クラスのインスタンス。
this.imageResponseCache
の実態はResponseCache
クラス
ResponseCache#get
を理解する。
ResponseCache#get
は引数にキーとレスポンス生成関数 とオプションを受け取る。
incrementalCache
にHitするものがあったとき。
Hitがありstaleならそれを返している(っぽい)
incrementalCache
にHitするものがないとき
レスポンス生成
incrementalCacheにset
Batcher
って存在がでてきたけど、踏み込むと沼りそうなので、一旦放置
imageOptimizer
を理解する
① 画像をFetch(582~589行目)
② 圧縮
リクエストヘッダーから使えるminetypeを取得
どのcontenttypeにするか決定
あとはsquooshとsharpで変換するだけ
ImageOptimizerCache
を理解する
前述のimageOptimizerCache.get
の第3引数incrementalCache
として渡されていたもの。
get
ローカルディレクトリからファイルを読んでる。
set
ローカルディレクトリにおいてるけど、サーバーのストレージの圧迫は大丈夫なのかな