Next.jsのgetServerSidePropsで遅くなったので対策を考えてみたが...
Cloud FunctionsでNext.jsを動かしてWebアプリを運用してみている。
クライアントサイドで非同期にパラメータ取得した方が画面遷移が早くて爽快だったのだけど、OGPとかやりたいときに困るので getServerSideProps
を入れてみた。
その結果、これを入れたページへの画面遷移が極端に遅くなった。
調べてみたけど、画面遷移で来たか初期ロードかはこんな感じで判定できそう。
if ((context.req as functions.https.Request).originalUrl.endsWith('.json')) { return {} } // 重い処理 return { /* 処理結果 */ }
ただこの「重い処理」が画面遷移にかかる時間の大半を締めていればいいのだが、自分の場合、クライアントとCloud Functionsとの通信にかかる時間の方がほとんどだった。hostingの制限上、Cloud Functionsはus-centralだし...。
処理も複雑になるし、断念。
追記
getInitialProps
を使えばいいのかもしれないけど、パスによる場合分けが必要そうなのと、自動最適化が効かなくなるみたいなのでん〜という感じ。