鍋綿ブログ

C#・SharePoint・SharePoint Framework・Office365を中心に扱うブログです。

【初心者向け】はじめてのFirebasa+React+TypeScriptなWebアプリ デプロイ手順

Reactで作ったWebアプリをFirebaseでホストしようとしたところ、
公式ドキュメントどおりにいかなかったのでメモしておきます。
単純化のために、この記事では create-react-app コマンドで作ったばかりの
空っぽのWebアプリをFirebaseにデプロイする手順を掲載します。

 

 

前提条件

本記事の手順を実行するには、以下の環境が必要です。

  • npm
  • node.js
  • Visual Studio Code
  • Firebaseに登録済である

Firebaseのアカウントは以下のURLで作成することができます。

https://firebase.google.com/

Webアプリを作成

Facebook社謹製のツール「Create React App」で空のWebアプリを用意します。
既に手持ちのWebアプリがある方は飛ばしてOKです。

まず、npm経由で「Create React App」をインストールします。
コマンドプロンプトで以下を実行します。

npm install -g create-react-app

次にプロジェクトを作成したいフォルダへ移動し、
create-react-app コマンドを実行します。

cd c:work (※ 任意のフォルダを指定してください)

create-react-app react-sample --typescript (※ 任意のプロジェクト名を指定してください)

こうなります。

f:id:micknabewata:20190303220529p:plain

Reactプロジェクト作成結果

さて、ローカル環境で結果を確認してみましょう。
作成されたプロジェクトフォルダ内に移動して、
code . と入力すると現在のフォルダをVisual Studio Code で開くことができます。

cd react-sample (※ create-react-app コマンドで指定したプロジェクト名)

code .

Visual Studio Codeのターミナルで以下のコマンドを実行しましょう。

npm start

ビルドが走り、ブラウザで http://localhost:3000 が起動するはずです。
だいたい以下の感じの画面になれば成功。

f:id:micknabewata:20190303220836p:plain

サンプル画面

Firebaseでプロジェクトを追加

管理コンソールでプロジェクトを追加します。

f:id:micknabewata:20190303195850p:plain

管理コンソールでプロジェクトを追加

必要な情報を入力します。

f:id:micknabewata:20190303200138p:plain

プロジェクトの情報を入力

プロジェクトIDはFirebase内で一意らしく、プロジェクト名が被ると連番が付きます。
この時点でreact-sampleは86468番煎じのようです(笑

FirebaseをWebアプリに追加

プロジェクトが出来上がると以下の画面が開きます。
コードのアイコンをクリックしてプロジェクトに設定すべき値を表示します。

f:id:micknabewata:20190303215436p:plain

コードアイコン

表示された値をコピーします。
今回はReact + TypeScriptの構成なのでscriptタグの中身だけでOKです。

f:id:micknabewata:20190303215650p:plain

コピー範囲

 コピーしたコードをindex.tsxのimport直後に貼り付けます。
変数 config の定義をvarからconstに直しておきましょう。

f:id:micknabewata:20190303221311p:plain

index.tsxに貼り付け

当然ですがfirebaseが分からんと怒られました。
インストールします。

npm install firebase --save

index.tsxにimportします。

f:id:micknabewata:20190303222328p:plain

index.tsxにimport

これでエラーが消えました。

Firebaseのコマンドラインツール(CLI)をインストール

次に開発用の端末にコマンドラインツールをインストールします。
コマンドプロンプトで以下を実行します。

npm install -g firebase-tools

Firebaseにログイン

引き続き以下を実行します。

firebase login

Googleアカウントと連動するための同意画面なんかが出てきますので
画面の案内どおりに進めてログインを完了します。

Firebaseプロジェクトの構成ファイルを作成

Visual Studio Codeのターミナルで以下を実行します。
(コマンドプロンプトでも良いですが作成された構成ファイルが
 すぐ確認できるのでVSCodeでやっています。)

firebase init

警告が出ますが無視します。

f:id:micknabewata:20190303213808p:plain

コマンド実行中

途中、publicフォルダ名を聞かれます。「build」を指定します。

f:id:micknabewata:20190303214208p:plain

コマンド実行完了 publicフォルダにbuildを指定すること

 出来上がったfirebase.jsonを開き、余計なignoreを消します。

f:id:micknabewata:20190303223311p:plain

**.* の ignore を削除

ビルドしてローカルで確認

いよいよ動作確認です。
Visual Studio Codeのターミナルで以下を実行します。
実行したら聞かれるままにプロジェクトを選択してエイリアスを指定します。

firebase use --add

で、ビルドして

npm run build

ローカルで起動します。

firebase serve

起動したURLをブラウザで表示できれば成功です。

f:id:micknabewata:20190303223938p:plain

成功

FirebaseにWebアプリをデプロイ

デプロイします。

firebase deploy

成功したら一通り完了です。

 

以上、参考になれば幸いです。