Next.js v12
2021/10/27のNext.js Confで発表された
https://www.youtube.com/watch?v=dMBYI7pTR4Q
website
Next.js 12について本気出して和訳してみた
upgrade手順
https://nextjs.org/docs/upgrading
Rust Compiler
SWCを使う
fast refreshが3倍高速に
buildが5倍高速に
この辺にある
Webpackを改善した
Rust Compilerを使うとBabelより17倍高速になった
v12ではdefaultで利用できる
minifyにもRust Compilerが使われる
Terserより7倍速い
.babelが残っていると、SWCではなくBabelが使われる
だから完全にSWCに移行するためには.babelを消さないといけない
Next.jsのMiddleware
React v18のサポート
これはalpha版だが、npm install react@alpha react-dom@alphaで試せる
Suspenseなどの諸々の機能が使える
https://nextjs.org/docs/advanced-features/react-18
React Server Componentsが使える
getServerSidePropsやgetStaticPropsはもはや不要
pageを.server.jsにするとServer Componentsとみなされる
https://nextjs.org/docs/advanced-features/react-18#react-server-components
URL Imports (alpha):
こんな感じでLibraryのimportができる
code:ts
import confetti from 'https://cdn.skypack.dev/canvas-confetti'
Denoやんmrsekut.icon
Skypack CDN
esm.sh
jsDelivr
JSPM
unpkg
next/legacy/imageがAVIFをサポート
WebPより20%パフォーマンスが良い
Bot-aware ISR Fallback: Optimized SEO for web crawlers
クローラー向けのISR設定ができる
fallback中のページをクローラーがindex作成できなくする
つまり、loadiing...みたいな表示でindexしない
Native ES Modules Support: Aligning with the standardized module system
Webpack5がdefaultになった
https://uit-inside.linecorp.com/episode/103
UIT INSIDE