onsen code monkey

個人的な日記とプログラミング備忘録です

【React】Firebaseでデプロイしてみる

f:id:hitoto28:20180916041429p:plain
Firebaseを使えばある程度は無料でWEBアプリを公開できる。
とりあえずデプロイできたのでログを残しておく。

1、デプロイしたいアプリのディレクトリに移動する

$ pwd
$ /Users/username/projects/ReactTest/helloworld

2、npmでfirebaseのパッケージをインストールする

$ npm install firebase --save

3、firebaseでデプロイする為に必要なjsファイルを作成する

$ mkdir firebase
$ touch firebase/config.js
$ touch firebase/index.js

4、各ファイルに以下のコードを記述する

↓ index.js

import firebase from 'firebase';
import { firebaseConfig } from './firebase/config.js';

export const firebaseApp = firebase.initializeApp(firebaseConfig);
export const firebaseDb = firebaseApp.database();

↓ config.js

export const firebaseConfig = {
  apiKey: "****************",
  authDomain: "****************",
  databaseURL: "****************",
  storageBucket: "****************",
  messagingSenderId: "****************"
};

✳︎✳︎✳︎の箇所にはfirebaseコンソールで作成されたAPIキー等を記述する(後述)

5、webブラウザでfirebase(https://console.firebase.google.com/)にログインし、適当なプロジェクトを作成する
※firebaseのログイン方法およびプロジェクト作成については簡単なので省略

6、プロジェクト画面を開きWEBアプリ用アイコンをクリックする
f:id:hitoto28:20180916025742p:plain

7、APIキー等の情報が表示されるので、赤枠の部分を先ほど作成したfirebase/config.jsにコピペする
f:id:hitoto28:20180916030258p:plain

8、デプロイに必要なツールをインストールする為、ターミナルで以下のコマンドを実行

$ npm install -g firebase-tools

9、インストールが成功したらfirebaseにログインする

$ firebase login

firebaseが情報を収集することに許可を求められるのでyesを入力するとブラウザでリンクが開かれる

? Allow Firebase to collect anonymous CLI usage and error reporting information?
 Yes

リンク先でGoogleアカウントを選択してログインする
以下の画面が表示されたら成功。ウィンドウは閉じて良い。
ウーホー!
f:id:hitoto28:20180916031928p:plain

10、firebaseを初期化する

$ firebase init

かっこいいけど読めない文字が表示される。FIREBASE?
f:id:hitoto28:20180916032856p:plain

11、セットアップ方法について聞かれるので今回は一番上のDatabaseのみ選択してエンターキーを押下する
f:id:hitoto28:20180916033434p:plain
操作方法はキーボードにて
矢印キーでカーソル移動
スペースキーで選択
エンターキーで決定

12、使用するプロジェクトを聞かれるのでfirebase管理画面で作成したプロジェクトを選択する
f:id:hitoto28:20180916033931p:plain

13、データベースのルール設定をどのファイルで行うか聞かれるのでそのままエンターキーを押下するf:id:hitoto28:20180916034230p:plain

14、アプリ内にfirebase.jsonとdatabase.rules.jsonが作成されていることを確認し、それぞれ以下のように編集する。

↓ firebase.json

{
  "database": {
    "rules": "database.rules.json"
  },
  "hosting": {
    "public": "build"
  }
}

↓ database.rules.json

{
  "rules": {
    ".read": "true",
    ".write": "true"
  }
}

15、編集が完了したらターミナルでビルド実行

$ npm run build

16、ビルドが問題なく完了したらデプロイする

$ firebase deploy

デプロイが完了するとHosting URLが表示されるので、ブラウザで開く
f:id:hitoto28:20180916040357p:plain

アプリの画面が表示されたら成功


↓参考サイト様
React & Firebaseで簡単なChatアプリを作ってみた - Qiita
Reactで作成したアプリをfirebaseでデプロイする方法 | ウェブ系ウシジマくんのテックブログ