Nuxtとは何か?

更新:2020/08/06 00:07 by nasu38yen

Nuxtでいったいなにを作成するのか?

公式ガイドの「はじめに」の中で次の3つが説明されていいます。

  • サーバーサイドレンダリング(ユニバーサル SSR)
  • シングルページアプリケーション(SPA)
  • 静的ファイルの生成

おそらく、この3つがそれぞれ何か?を理解できればNuxtが何か?がわかるようになるはずです。
逆にいうと、この3つの違いを理解できないと、最初にプロジェクトを作成することすらできませんはできません。
とにかく、プロジェクトのタイプは3つに分かれていて、いずれかを選択しなければなりません。

シングルページアプリケーション(SPA)

これはわかりやすい気がします。
従来のVueJSのプロジェクトでビルドしていたものと同じものを作成するはずです。
なので、SPAを選択するなら、Nuxtは必須ではなく、VueCLIで良いかもしれません。
Nuxtを使えば、webpackの面倒な構成などから解放されそうです。
create-nuxt-appで作成されるモジュール種別フォルダ一式にプロジェクトの展望があり、
どこになにを作成していくのか?という今後の作業の見通しができ、作業の最初の一歩がはかどりそうです。
この構造を提供しているのがNuxtの所以と思えます。

静的ファイルの生成

次に理解すべきはこれの気がします。
目的は明らかで、Netlify, Azure Static Web Appsなどの静的ホスティングサービスの利用でしょう。
それらサービスを使ったサイトの構築にNuxtが役立つらしいです。
ここでもNuxtが提供している構造が役に立ちそうです。
サービスに配置するhtmlファイルを生成するためのコマンドが用意されています。
実際、説明の手順通りに試すと簡単にNetlifyにサイトがひとつ立ち上がりました。
なにを作っているかはあきらかです。

サーバーサイドレンダリング(ユニバーサル SSR)

最後、これがNuxtの本丸なのでしょうが、私はこれが一番わかりにくいです。
なにをしようとしているのか?なぜそれが必要か?という説明はわかります。
SPAや静的化との違い/対比の説明も、わからないわけでありません。
わからなくなるのは、RailsやASP.NETのようなフレームワークとの対比です。
サーバーサイドで実行されるコードを書くのは同じでしょう。
ならば、NuxtはASP.NETと同列で扱うようなフレームワークなのでしょうか?
あの巨大なフレームワークをNuxtが代替えできるとなれば大問題ですよね?
なにか重要なことを見落としている気がするのですが、それが何かわかっていません;
この疑問は一旦保留にして

とりままとめ

この3つのタイプの成果物はまったく違うものに感じます。
create時に「SSR」で開始して、configのmodeを変えるだけで「SPA」に変更するなんてことができるのでしょうか?
いやもしかしたらできるのかもしれません。そこにまたモヤモヤを感じます。
ふつう、違うものを作るには違う道具を用意します。
それが、同じ道具で違うものを作ろうとしているところに、わかりにくさがある気がします。
とりあえず今は、3つのそれぞれまったく違う道具があるのだと割り切ることにします。
何か?がわからないと前に進めないのは年寄りの悲しい性ですが、結局、
何か?はいつだってわからないのです。

親ノート

Nuxtはじめますた 更新:2020/10/23 03:49 by nasu38yen

関連ノート

まとめ 更新:2020/10/27 12:16 by nasu38yen
静的化??に混乱するの巻 更新:2020/10/27 04:22 by nasu38yen
Universal JavaScript 更新:2020/10/27 04:20 by nasu38yen
asp.netとの対比 更新:2020/08/04 22:52 by nasu38yen