こんにちは、開発の片岡です。
標題の通り、今回はFirebaseを活用したサーバーレスWEBアプリケーションの作り方をご案内していきます。
あらかじめfirebaseに設定したデータをWEBアプリケーション側で取得&表示確認するところがゴールです。
※なお、長くなったので、3回に分けて執筆予定です。1回目となる今回の記事は4番までを解説していきます。
以下の通り進めていきます。
2. vuetifyを導入
3. firebaseにプロジェクト追加
4. firebaseの各種設定
————————
5. firebaseにDEMOデータ登録
6. プロジェクトからfirebase呼び出し、必要なデータを取得
1. vueプロジェクト作成
vue-cli のインストール
$ npm install -g @vue/cli
プロジェクトを作成する階層で以下
$ vue create hello-prj
※ここで以下の文言が出る場合は、表示されている通りにコマンドを打ってからもう一度vue createを行ってください。
vue create is a Vue CLI 3 only command and you are using Vue CLI 2.9.6. You may want to run the following to upgrade to Vue CLI 3: npm uninstall -g vue-cli npm install -g @vue/cli
vue createのコマンドの後、
Vue CLI v4.5.9 ? Please pick a preset: (Use arrow keys) ❯ Default ([Vue 2] babel, eslint) Default (Vue 3 Preview) ([Vue 3] babel, eslint) Manually select features
といった質問が表示されていきます。
今回は特に設定を変更しないので、Enter押下で進めていきます。
終わりにこちらが表示されますので、その通りに進めます。
? Successfully created project hello-prj. ? Get started with the following commands: $ cd hello-prj $ npm run serve
上記打ち込むと、ターミナルに表示されるURLにアクセスすると、立ち上がったサイトが確認できます。
➡︎ http://localhost:8080/
2. vuetifyを導入
次にここからはvuetifyを導入していきます。
vuetifyはweb開発でよく使うコンポーネント群を予め美麗なデザイン込みで用意してくれるVue UIライブラリです。使わない方はスキップでも構いません。
立ち上がっているserveをcontrol+Cで一旦停止して
プロジェクト階層のまま、以下を打ちます。
vue add vuetify
やはりここでも設定を聞かれますがdefaultのままEnterで進めましょう。
あっという間に導入が終わりました。
3. firebaseにプロジェクト追加
firebaseは初期費用無料で使えるgoogleのサービスの一つです。認証周りやDBからのデータ取得など、サーバーサイドの処理をある程度firebaseが代行してくれるので、フロントエンドの開発に工数をかけたい場合などにおすすめです。
さて、
https://firebase.google.com/から、コンソールに進みます。(gmailログインしていない場合はしましょう。)
プロジェクトを作成、もしくは追加していきます。名称はなんでも構いませんがここでは先ほど決めたプロジェクト名と合わせて、hello-prjで作成します。
firebaseプロジェクト向けgoogle analyticsをonで良いか確認を求められます。
特に不都合がない場合はそのまま進めます。規約に同意チェックでプロジェクト作成完了です。
4. firebaseの各種設定
アプリの登録
</>(ウェブ)とある部分をクリックして、プロジェクトの設定を開始します。
アプリの登録では、アプリのニックネームを入力します。ここでは先ほどのhello-prjを入力
「このアプリのFirebase Hostingも設定します」にもチェックを入れておきます。
※Firebase Hostingを利用すると、開発物をfirebaseでdeployすることができます。
するとfirebaseのhttps://プロジェクト名.web.appというリンクにdeploy結果が適用されるので開発物の実行結果を簡単に他人と共有できるようになります。どうすれば出来るかはまた後述します。
プロジェクトにfirebase SDKを導入
画像のようにスクリプトが表示されます。
これをプロジェクトの以下に設定します。
今回bodyタグがあるのはhello-prj>public>index.htmlなので、こちらに記載します。
設置するとこんな感じです。
Firebase CLIのインストール
今回Firebase Hostingを使用するので、専用のCLI(コマンドラインツール)をインストールします。
npm install -g firebase-tools
Firebase Hostingへのデプロイ
まだコードには何も手を加えていないので、やり方だけ先に確認という形になりますが、以下のコマンドでfirebaseへのデプロイが可能です。
まずgoogleアカウントにログイン
$ firebase login
次にプロジェクトの開始(ここからは必ずアプリのルートディレクトリから実行 (今回で言うとhello-prj直下です))
$ firebase init
initするとこんな画面が表示されます。必要に応じて設定していきます。
今の所、Hostingにだけ用があるので、Hostingだけ選択(矢印+スペースキー)しましょう。
次に参照するプロジェクトを聞かれるので、既存のプロジェクトを選択します。
? Please select an option: (Use arrow keys) ❯ Use an existing project Create a new project Add Firebase to an existing Google Cloud Platform project Don't set up a default project
選択後
? Please select an option: Use an existing project ? Select a default Firebase project for this directory: ❯ hello-prj (hello-prj)
と出るのでEnter。
Your public directory is the folder (relative to your project directory) that will contain Hosting assets to be uploaded with firebase deploy. If you have a build process for your assets, use your build's output directory. ? What do you want to use as your public directory? (public)
には、defalutのpublicではなくdistと入力します。
※今回作成したvueプロジェクトのビルドファイルがdist以下に作成されるためこちらを指定します。
? Configure as a single-page app (rewrite all urls to /index.html)? (y/N)
こちらはyを選択しましょう。hosting環境でのサイト再読込みを可能にしてくれます。
? Configure as a single-page app (rewrite all urls to /index.html)? (y/N) ? Set up automatic builds and deploys with GitHub? (y/N)
GitHubのコードと自動同期してくれる設定です。今回はnで回答しました。
さて、ここまでで、ターミナルにおけるFirebase組み込みは一区切りつきました。
第2回はFirebaseにデータを登録していきます。
引き続きお付き合いくださいね
中編はこちらからどうぞ。