UGA Boxxx

つぶやきの延長のつもりで、知ったこと思ったこと書いてます

【Next.js】Next 12

日本時間の10/27 AM1:00 に Next conf 2021 が開催された

nextjs.org

その際に発表されたNext 12についてのメモ

正直内容の咀嚼ができてないので、関連記事がたくさんでてきたらもう一度書くかも

nextjs.org

Next 12は過去最大のリリース

Rustコンパイラー:Fast Refreshが3倍、ビルドが5倍速くなった

Rustコンパイラーでビルドの高速化とリロードの高速化をしたという話

また、Babelで行っていたJavaScriptとTypeScriptファイルのトランスパイルもRustコンパイラーで置き換え、その結果Babelよりも17倍高速になったとのこと

Next.js 12でデフォルトで有効になるが、既存のBabelの設定がある場合は自動的にオプトアウトされる

近々、styled-components、emotion、relayなどの人気のあるライブラリのパーシングを移植する予定

ミドルウェア(beta):設定よりもコードを使ってNext.jsで完全な柔軟性を実現

ミドルウェアを使うと、ユーザーのリクエストに基づいて、rewrite、リダイレクト、ヘッダーの追加、さらにはHTMLのストリーミングによってレスポンスを変更することができる

next startを使用して動作するだけでなく、Edge Functionsを使用するVercelなどのEdgeプラットフォームでも動作するとのこと

ただ、どちらかというと、req, resがWHATWGベースだったり、いろいろ制約が厳しいらしくオリジンで動かすexpressのようなミドルウェアの代替というよりは、Vercelで動かす新しいソリューションという色が強いみたい?

catnoseさんの記事
Next.jsのmiddlewareはVercel以外でも問題なく使えるか

詳しいことがわかったらまた書く

  • React 18のサポート
  • AVIFのサポート
  • ボット対応ISRフォールバック
  • Native ES Modulesのサポート
  • URLインポート(alpha)
  • React Serverコンポーネント(alpha)