質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
Firebase

Firebaseは、Googleが提供するBasSサービスの一つ。リアルタイム通知可能、並びにアクセス制御ができるオブジェクトデータベース機能を備えます。さらに認証機能、アプリケーションのログ解析機能などの利用も可能です。

Next.js

Next.jsは、Reactを用いたサーバサイドレンダリングなどを行う軽量なフレームワークです。Zeit社が開発しており、nextコマンドでプロジェクトを作成することにより、開発環境整備が整った環境が即時に作成できます。

Q&A

1回答

561閲覧

#firebaseプロジェクトのSDKの変数を開発用のアプリにて読み取れるようにしたい

kimch

総合スコア8

Firebase

Firebaseは、Googleが提供するBasSサービスの一つ。リアルタイム通知可能、並びにアクセス制御ができるオブジェクトデータベース機能を備えます。さらに認証機能、アプリケーションのログ解析機能などの利用も可能です。

Next.js

Next.jsは、Reactを用いたサーバサイドレンダリングなどを行う軽量なフレームワークです。Zeit社が開発しており、nextコマンドでプロジェクトを作成することにより、開発環境整備が整った環境が即時に作成できます。

0グッド

0クリップ

投稿2021/07/31 21:55

前提・実現したいこと

・個人アプリにて、.envファイルに記述した変数を firebase.js で読み取れるようにしたい。

問題点/エラー内容/エラー文章

※ターミナルより

code: 'auth/invalid-api-key', a: null } { apiKey: undefined, authDomain: undefined, databaseURL: undefined, projectId: undefined, storageBucket: undefined, messagingSenderId: undefined, appId: undefined }

該当ソースコード/コマンド

.env(プロジェクト直下) REACT_APP_FIREBASE_API_KEY="*******" REACT_APP_FIREBASE_AUTH_DOMAIN="*******" REACT_APP_FIREBASE_DATABASE_URL="*******" REACT_APP_FIREBASE_PROJECT_ID="*******" REACT_APP_FIREBASE_STORAGE_BUCKET="*******" REACT_APP_FIREBASE_MESSAGING_SENDER_ID="*******" REACT_APP_FIREBASE_APP_ID="*******"
firebase.js(プロジェクト/src/firebase.js) import firebase from 'firebase/app'; import 'firebase/firestore'; import 'firebase/auth'; const firebaseConfig={ apiKey: process.env.REACT_APP_FIREBASE_API_KEY, authDomain: process.env.REACT_APP_FIREBASE_AUTH_DOMAIN, databaseURL: process.env.REACT_APP_FIREBASE_DATABASE_URL, projectId: process.env.REACT_APP_FIREBASE_PROJECT_ID, storageBucket: process.env.REACT_APP_FIREBASE_STORAGE_BUCKET, messagingSenderId: process.env.REACT_APP_FIREBASE_MESSAGING_SENDER_ID, appId: process.env.REACT_APP_FIREBASE_APP_IDZ } console.log(firebaseConfig) if(firebase.apps.length === 0){ firebase.initializeApp(firebaseConfig); } export const auth = firebase.auth(); export const db = firebase.firestore(); export default firebase

想定している処理の流れ

.envに記述した変数(firebaseにてプロジェクトを作成→アプリの追加をして得た変数)をfirebase.jsにて読み込む。
②その変数を用いて、開発環境にあるアプリとfirebaseとを接続させる。
③認証機能やDBを使用する。

うまくいっている部分

・firebaseでのプロジェクトの生成とアプリの追加処理。

エラー原因となり得る部分

・firebase.jsの記述?

試したことや調べたこと

-APIキー等が間違えていないか。firebaseから直接コピー&ペーストをした。
-.envにスペースなどの間隔が空いていないか確認した。
-firebase.jsにてconsole.log(firebase.config)をしたがundefinedとなっていたことは確認できた。
(APIキーだけでなく、全項目がundefinedとなっていた。)

#最後に
ぜひ皆様のお力をお借りできたらと思います。
また、わかりにくい等ございましたら、お手数おかけしますが
ご指摘いただけますと幸甚です。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

process.envfirebase.js が Node.js 上で実行される場合は環境変数が設定されますが、Reactが動作するのはブラウザ上なので環境変数が設定されません。
firebaseConfig の各フィールドは公開されても問題が無い情報なので環境変数ではなく直接値を埋め込んではいかがでしょうか?

見当違いなことを回答していまいました。無視してください。

投稿2021/07/31 23:59

編集2021/08/01 00:06
emoyome

総合スコア11

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kimch

2021/08/01 02:54

@emoyome 様 ご連絡ありがとうございます。 とんでもないです。 下名の質問に対して反応してくださり、感無量でございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問