Nuxt.jsってindex.htmlとかないけどどうやって動いてるの?

シェアする:

この記事をおすすめしたい人

  • Node.jsも知らんのにNuxt.jsを始めようとしてる人
  • インストールフォルダにindex.htmlがなくてギョっとした人
  • つまりオレ

何も知らない超初心者が脱WordPressしたくてNuxt.jsでサイト構築していくシリーズです。

今回は…

どう説明すればいいんだろ。

HTMLにしろ、WordPressにしろ、レンタルサーバに指定されたフォルダに「index.html」とか「index.php」を置いて、それを読み込ませることでサイトがスタートするじゃないですか?

Nuxt.jsはこの辺どうなってんの?

って問題です。

肌感覚としてはこれまでで一番僕の無知具合を晒す内容になるんではないかと感じています。

ですが、とりあえず疑問をさらけ出してみて、おいおいその悩みを解決していく!

そんな感じのページにできればと考えています!

WordPressの上でな!

※ このブログはWordPress製です

オレの知ってるホームページの仕組み

まずは単純にHTMLの場合。

このサイトはXserverの上にあるんですが、契約時に、FTPにログインした後、「(ルートドメイン名)/public_html/(サブドメイン名)」へファイルを置いてください、みたいな案内があります。

このサイトの場合だと「ore-shika.com/public_html/dev」ですね。

ここに「index.html」を置きます。

すると「https://dev.ore-shika.com/」にアクセスするとindex.htmlの内容が表示されるわけです。

これは比較的わかりやすいです。

原理は知りませんが、言われたところに言われた通りファイルを置くと、そのファイルの内容が表示されるのですから。

WordPressなどのPHPで動くシステムの場合

これもそんなに違いはありません。

指定された場所にindex.phpを置くだけです。 最近あまり見ないですが、CGIの場合も同様(だったはず)。

index.phpの中には表示されているHTMLの全てが含まれているわけではありませんが、PHPファイル内にその次に読み込むファイルが記述されているので、必要なファイルが全部読み込まれてWordPressが動きます。 そして最終的なHTMLを出力。

理解できます。

どういう原理になっているのか?

今度は逆に、ホームページにアクセスするユーザ側からの流れをイメージしてみます。

① まずブラウザで「https://dev.ore-shika.com/」へアクセスします。

② 上記URLへアクセスがあった場合に「Xserverのこのフォルダへアクセスしてください」という情報がどこかにあります。

③ そのフォルダにあるindex.htmlやindex.phpを読み込んで、その内容を返します。

②がちょっと魔法じみてる技術に見えますが、DNSというそうです。

いや、これ信じられますか?

だってこれ世界規模でそういうルールを定義してるデータベースがあるわけでしょ? それがたったひとつしかなくて、世界中がそれに従ってるんですよ。

にわかには信じがたいですが、現実的にインターネットが機能している以上、その存在を疑うことはできません…。

Nuxt.jsのインストールフォルダはどうなっているのか

指定されたフォルダにある「index.html」「index.php」から始まるホームページしか知らなかった僕は、Nuxt.jsのインストールフォルダを見て不安になりました。

index.htmlがない!?

他のフォルダにあるのかと思ったけど、少なくともサブフォルダにはありませんでした。

でもNuxt.jsを走らせるとブラウザからホームページが表示されるんです。

不思議でなりません。

とても気持ち悪くはありますが、実際問題動いている現実を否定することはできないので、

  • 指定されたURLへアクセスすると「create-nuxt-app」で指定したフォルダ以外の場所が参照されている
  • そこにはindex.htmlに変わるナニカがある
  • ナニカがプログラムとして動的にHTMLを出力している
  • それをブラウザは読み込んでいる

みたいな感じでとりあえず受け入れてみようと思います。

そんなわけでサーバでNuxt.jsを動かすモードを諦めました

インストールオプションの記事にちょろっと出てきましたが、「Deployment target」で「サーバでNuxt.jsを動かすのか」「ローカルでHTMLとして書き出すのか」を選ぶオプションがありました。

後者は分かるんです。

HTMLとして書き出してしまって、それをサーバにアップロードするなら僕のよく知っている方式になります。

それに対して前者。

サーバでNuxt.jsを動かす?

どこにインストールするの?

そのフォルダが指定したドメインでちゃんとアクセスできるの?

などなど、勉強することが増えそうな気がしてなりません。

ネットで調べてる感じではこっちの方が多そうな印象でしたが、そもそもNuxt.jsでサイト作るような人はこんなことで悩まないんでしょう。

でもオレは悩む自信があります!

というわけで…。

初回のNuxtプロジェクトは、

  • 静的HTMLで出力する
  • 静的HTMLでも機能する内容のサイトにする

というコンセプトで選びました。

1ページだけのしょぼい内容ですが近日公開予定です。

こちらの開発日記と連動しながら徐々に充実させていこうと思います。

ポンコツ過ぎて全然有益な情報配信が出来ている気がしませんが、徐々に勉強して脱WordPressを成功させたいと思います!

以上、WordPressからお届けしました!

シェアする: