前々回で「サーバーに置くと誰でも見られる」、前回で「サーバーは頼まれたものを返す人」というところまで来ました。ここまでくれば、あとは実際に置くだけです。
この記事では、手元のindex.htmlを世界に公開します。file:///Users/... で開いていたファイルが、https:// の付いたURLで開けるようになる、その一歩です。
1. デプロイ=サーバーに置いて公開すること
デプロイ(deploy) とは、作ったものをサーバーに置いて、誰でもアクセスできる状態にすることです。日本語にすれば「配置する」「展開する」あたりですが、現場では「公開する」とほぼ同じ意味で使われています。
ここまでで作ったHTML・CSS・JavaScriptは、前回の言葉でいう「そのまま返せるファイル」です。つまり静的なので、いちばん手軽な方法で公開できます。
2. 静的ホスティングを使う
静的ファイルを置くだけで公開してくれるサービスを静的ホスティングと呼びます。代表的なものは次の3つです。
| サービス | 特徴 |
|---|---|
| GitHub Pages | Gitのリポジトリに置いたファイルをそのまま公開できる。Gitを使うならこれが自然 |
| Netlify | フォルダをドラッグ&ドロップするだけでも公開できる。いちばん手数が少ない |
| Vercel | フロントエンド向けに強く、あとで本格的なフレームワークに進むときも使える |
どれも「ファイルを渡す → URLがもらえる」という流れは同じです。最初の1回は、アカウント登録だけで済むNetlifyがおすすめです。
3. いちばん短い手順
やることは3つだけです。
- index.html(あれば画像なども)を1つのフォルダにまとめる
- 静的ホスティングのサービスにアカウントを作る
- そのフォルダを渡す
Netlifyであれば、ログイン後の画面にフォルダをドラッグ&ドロップするだけです。数十秒待つと、https://ランダムな名前.netlify.app のようなURLが表示されます。
そのURLをスマートフォンで開いてみてください。自分のパソコンの中にしかなかったページが、自分のパソコンを経由せずに表示されます。これが「公開した」ということです。
なお、ファイル名を index.html にしておく必要があります。サーバーは「フォルダを指定されたら、その中の index.html を返す」という決まりで動いているためです。
4. 「書いたファイル」と「配るファイル」は別物になる
いまはまだ、書いたHTMLをそのまま置けます。ただ、この先SassやTypeScriptといった道具を使うようになると、書いたファイルと配るファイルが別物になります。
書いたファイルはブラウザーが読めない形をしているので、ブラウザーが読める形に変換してから置くことになります。この変換作業がビルドです。
書いたファイル(.scss / .ts)
↓ ビルド
配るファイル(.css / .js) ← サーバーに置くのはこちら
「デプロイしたのに反映されない」と思ったら、実はビルドし忘れていた、というのはよくある話です。この話は、SassとTypeScriptの記事で改めて扱います。
5. 公開したのに反映されない ― たいていはキャッシュ
修正してアップロードし直したのに、開いてみると古い表示のまま。これは非常によく起きます。そして多くの場合、キャッシュが原因です。
ブラウザーやサーバーは、一度取ってきたファイルを「どうせすぐには変わらないだろう」と手元に覚えておきます。これがキャッシュです。おかげでページの表示は速くなりますが、更新直後は古いものを見せられることになります。
確かめ方は次のとおりです。
- スーパーリロード(強制再読み込み)を試す。Macなら
Command + Shift + R、WindowsならCtrl + Shift + Rです。 - シークレットウィンドウで開いてみる。キャッシュがほぼ効かない状態で確認できます。
- それでも古ければ、数分置いてから見る。
「壊れた」のではなく「前のものを見せているだけ」のことが多い、と知っておくと慌てずに済みます。
まとめ
- デプロイ=サーバーに置いて公開すること。
- 静的ホスティング(GitHub Pages / Netlify / Vercel)なら、ファイルを渡すだけでURLがもらえる。
- ファイル名は
index.htmlにしておく。 - この先は「書いたファイル」ではなく「ビルドしたファイル」を置くことになる。
- 反映されないときは、まずキャッシュを疑う。
- 前の記事:「サーバってなにをしている人か」
- 用語の整理:「エンジニアのわけのわからない横文字集」
- 変換してから配る話:「CSSをそのまま書くのがつらくなったら(Sass)」