UGA Boxxx

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

【Nuxt】Nuxt3の安定版がリリースされた

今日Nuxt3が安定版になったのを知った

nuxt.com

以前から使われていて評判は聞いていたが、安定版ではないということで調べていなかった

関わっているある案件ではvue2を使っていて、バージョンアップの機会をうかがっているのでNuxt3がどのようなものかざっくり調べてみる

Nuxtとは

Vue.js を使用したウェブアプリケーションを構築するためのJavaScriptフレームワーク

以下の特徴を持つ

  • 高パフォーマンス
  • 設定なしのTypeScriptサポート
  • SSRとSPAハイブリットサポート
  • 自動インポート
  • ファイル システム ルーティング

など

これらを実現するために使用しているアーキテクチャ

  • h3 HTTPフレームワークとNitro サーバーエンジンを採用
  • トランスパイラとしてのesbuildとバンドラーとしてWebpack5またはViteを採用
  • ルーティング ライブラリにvue-routerを採用
  • nuxi CLIツール

など

気になったライブラリをみてみた

esbuild

esbuildはGo言語で開発されたviteやwebpackに並ぶビルドツールの一種

esbuild.github.io

バンドルもできるが、Nuxtはesbuildのトランスパイル機能を使用している

H3とは

超軽量なHTTPフレームワーク

github.com

Nitroサーバーエンジン

nitro.unjs.io

  • 同じコードベースから、さまざまなホスティングプロバイダーに適した出力形式を生成
  • サーバーレス環境のサポート
  • APIルーティングサポート(h3の使用)
  • 自動的にコードスプリッティング
  • SSRとSPAのハイブリッドモードサポート
  • 開発用サーバーではホットリロード

などなど

自動インポートなど無駄なソースコード量を抑えられる機能が嬉しい反面、プロジェクト固有なちょっと変わった使い方をしたい時に困るかもと思った

ただ、全体的に開発体験的には他のフレームワークと遜色ない感じだし、vue使っているなら乗り換え先としてよさそう