Firebase Hostingでウェブサイトをホスティングする
いつも Vercel(旧 Zeit / Now)か Heroku か契約中のホスティングサーバを使うことが多かったのですが,Cloud Firestore を使っていて Firebase Hosting に目が留まったので試してみました.
初期設定
初めにパッケージをインストールします.
terminal
$ npm i -g firebase-tools
次に,プロジェクトを Firebase Hosting にデプロイするための設定ファイルを生成します.
terminal
$ firebase init
最初のダイアログで Hosting を選択します.
デプロイするプロジェクトは新規でも既存でも可能です.
公開ルートディレクトリは public
になっていますが,npm run generate
で生成されるのはデフォルトでは dist
になっているので,dist
で設定します.
終了すると Firebase の設定ファイルが自動生成されます.
静的コンテンツのデプロイ
コンテンツの準備が整ったら,generate
してデプロイします.
terminal
$ npm run generate
$ firebase deploy
デプロイ結果が反映されないとき
Firebase Hosting は generate
等で生成したコンテンツをデプロイすることで更新することができますが,実際に接続してみると内容が反映されていないことがありました.
コンソールを見る限りではデプロイに成功していて,ターミナルでもエラーは出ていません.
ビルドすることで生成される dist
を削除し,再生成することで直りました.
また,似たコマンドとして build
もありますが,静的コンテンツを生成するコマンドではないので今回は用いることができません.
最後に
Nuxt がまだまだ理解できてない部分が多いので,Vercel や Heroku に上げるときにエラーが頻発していましたが,Firebase はドキュメントが充実しているので結構使いやすいと思いました.
Firebase Hosting はデプロイもそれなりに早いので,時間がかかって躓くことが多く,無料だとサーバが 10 分で眠ってしまう Heroku の価値が私の中で下がりつつあります...