今日Nuxt3が安定版になったのを知った
以前から使われていて評判は聞いていたが、安定版ではないということで調べていなかった
関わっているある案件ではvue2を使っていて、バージョンアップの機会をうかがっているのでNuxt3がどのようなものかざっくり調べてみる
Nuxtとは
Vue.js を使用したウェブアプリケーションを構築するためのJavaScriptフレームワーク
以下の特徴を持つ
- 高パフォーマンス
- 設定なしのTypeScriptサポート
- SSRとSPAハイブリットサポート
- 自動インポート
- ファイル システム ルーティング
など
これらを実現するために使用しているアーキテクチャ
- h3 HTTPフレームワークとNitro サーバーエンジンを採用
- トランスパイラとしてのesbuildとバンドラーとしてWebpack5またはViteを採用
- ルーティング ライブラリにvue-routerを採用
- nuxi CLIツール
など
気になったライブラリをみてみた
esbuild
esbuildはGo言語で開発されたviteやwebpackに並ぶビルドツールの一種
バンドルもできるが、Nuxtはesbuildのトランスパイル機能を使用している
H3とは
超軽量なHTTPフレームワーク
Nitroサーバーエンジン
- 同じコードベースから、さまざまなホスティングプロバイダーに適した出力形式を生成
- サーバーレス環境のサポート
- APIルーティングサポート(h3の使用)
- 自動的にコードスプリッティング
- SSRとSPAのハイブリッドモードサポート
- 開発用サーバーではホットリロード
などなど
自動インポートなど無駄なソースコード量を抑えられる機能が嬉しい反面、プロジェクト固有なちょっと変わった使い方をしたい時に困るかもと思った
ただ、全体的に開発体験的には他のフレームワークと遜色ない感じだし、vue使っているなら乗り換え先としてよさそう