2021/11/05 に公開 5008 views

このエピソードについて

先日発表された Next.js 12 について、@spring_raining @uhyo_ @G4RDS の 3 人で話しました。

Rust Compiler

  • SWCの採用によるBabelからの脱却
    • https://swc.rs/
    • SWCの作者がVercelのNext.jsチームにJoin
    • SWCとesbuildの違い
  • esbuild/Rollupとは別のエコシステムが誕生する可能性
  • Babelを必要としない箇所はデフォルトでSWCを使ってコンパイルされる
    • 冒頭でopt-inで有効化と話していますがこれは誤りで、BundleやCompileはデフォルトでSWCが使われます
    • swcMinify: true でMinifyもSWCが実施するopt-in

Middleware

  • Edge Functionsとの組み合わせが注目されるが、単体でも十分便利な機能
  • Middlewareが動作するサンドボックス化されたランタイム環境について

React 18 SupportとReact Server Components

  • 以前でもUIT INSIDEで取り上げたReact 18のアップデートや、React Server ComponentsがNext.jsで使えるように
  • React Server Componentsを使う場合、Next.jsの重要な機能 getStaticProps, getStaticPaths などが使えなくなる点に注意
  • Next.jsがこれまで提供してきたSSRとは異なる、新しい方法としてのReact Server Components

URL Imports

  • Native ESM時代にふさわしいURL形式での指定
    • 画像などもURLで指定可能
  • next.lock という node_modules 外のディレクトリにキャッシュされる設計

その他のアップデート・気になるRFC

Refs