Next.jsの4種類のbuild方式
build後に表示される出力で各ページがどれで実装されているか見れる
resultλ (Server) server-side renders at runtime (uses getInitialProps or getServerSideProps)
○ (Static) automatically rendered as static HTML (uses no initial props)
● (SSG) automatically generated as static HTML + JSON (uses getStaticProps)
(ISR) incremental static regeneration (uses revalidate in getStaticProps)
この表示を見るだけじゃ、ISRとSSGの区別が見れないパターンが存在する(後述)
Server
アクセス時にserver sideでrenderingした結果を返す
アクセスごとに処理が走る
user認証後のページ等に使う
それ以外はできれば他のモノを使いたい
Static
Build時に静的ファイルを生成する
SSG
の簡易版みたいなやつ
SSG
の特にSever sideで実行する処理がないもの
getStatciProps内で特に何もfetchせず、完全な静的ページとして生成するもの
SSG
Build時に静的ファイルを生成する
ISR
Build時に静的ファイルを生成する
ISRが指定されているものはbuild後の表示は以下のようになっている
result├ ● /posts (ISR: 1 Seconds) ...
SSGと同じ「●」が付いていて、revalidateの秒数が記述されている
何故か知らんけど
getStaticPathsを使っているpageでは、ISRになっているのにbuild後の表示に
(ISR: ..)
の表示がされない
「●」の表示だけが書いているので、パット見ただの SSG
に見える