generated at
Next.js

ReactSPAを作る際のフレームワーク
Vercelが開発(Guillermo Rauch
もともとSSR Server + Routingを提供していた
Next.js以前の複雑なSSR/CSRを隠蔽
SPA/SSRのベストプラクティスを提供

>
React Server Componentsとnested layoutsをNext.js routerがサポート

v12.0.0からSWC

爆速らしい

>Web の最適化を考えることで、自分は Next.js を再び強く評価するようになった。
> Core Web Vitalsの指標は、フロントエンドの改善に目がいきがちだが、ある程度やるとサーバーサイド込みで改善が必要で、その最適化をある程度以上すすめるには、現状 Next.js のようなクラサバまたがる最適化が必要、という認識を持った。
>Next.js が実践しているフロントエンドのベストプラクティスは、乱暴に要約すると「いかに静的に確定する部分を増やして、それを CDN に置くか」
> Next.js フルスタックが必要だ、と思ったのも、Core WebVitals のパフォーマンス改善でクライアント・サーバーを複合的に見れる人が少ない、という問題意識がある

>Next.jsアプリケーションをビルドしてデプロイした後も、特定のページのみ定期的に再ビルドする機能です。
クライアントにキャッシュを返しつつ、裏でページ単位で再ビルドしてキャッシュを飛ばす
ISRの罠
>Next.jsのISRは、revalidateが省略されたときrevalidateなしと解釈します。
> つまり、上記のような状態でデプロイした場合、一度でも { notFound: true } が返ると以後そのURLではずっと404が返り続けるという恐ろしい状態になります。
>その際、まず応急処置としてVercelの設定画面上でredeployをかけて誤ったキャッシュを飛ばし、その後速やかにrevalidateを設定して再デプロイするという対応を行いました。

〜Next.js 10.0.1
CSS modules標準対応
著者はSSR非推奨
サーバを持つのが嫌だ
パフォーマンスはSSGのほうが優れている
動的コンテンツもSSGができる(ブログとか)
クソデカ動的コンテンツ(UGC)はアクセス時にビルドする
Incremental Static Regeneration


NginXのリバースプロキシを使ってデプロイする方法

基本node.jsが必要だが、静的ページとして吐き出すこともできる(ほとんどすべての機能をサポートする)
> If your app needs to generate dynamic pages at the runtime, you can't deploy it as a static app.



使ってるプロダクト