【React × Firebase】「Module not found: Can’t resolve ‘./firebase-config’」エラーの原因と対処法

ReactでFirebaseのデータベースと連携しようとしたとき、次のようなエラーメッセージが表示されることがあります。

ERROR in ./src/App.js 8:0-35
Module not found: Error: Can't resolve './firebase-config' in 'C:\Users\〇〇\make-login-form\src'

このエラーの意味と、解決方法についてご紹介いたします。


目次

エラーの内容


このエラーは、App.js ファイルの中で以下のような記述をしているにもかかわらず…

import { initializeApp } from "firebase/app";
import { getFirestore } from "firebase/firestore";
import firebaseConfig from "./firebase-config"; // ← この行

実際には firebase-config.js というファイルが src/ ディレクトリ内に存在しないために発生しています。

つまり、指定されたファイルが見つからないという単純なエラーです。


原因:ファイル名の不一致


私のケースでは、実際に作成していたファイル名が firebase.js であり、firebase-config.js ではありませんでした。

そのため、以下のように修正することでエラーが解消されました。

- import firebaseConfig from "./firebase-config";
+ import firebaseConfig from "./firebase";

ファイル名のスペルや拡張子が正しく一致していないと、React(正確にはwebpack)がモジュールを読み込めず、上記のようなエラーを出力します。


よくある原因一覧


このエラーの原因としてよくあるのは以下の通りです。

原因内容
ファイル名のスペルミス例: firebaseConfig.js と書いたが、ファイル名は firebase-config.js
拡張子の省略ミス.js を忘れたり、逆に明示したことで誤解釈されることがあります
ファイルの場所が違う./firebase-config としたが、実際には ./config/firebase-config.js にある等

対処方法


  1. エラーメッセージの中のパスを確認
     → Can't resolve './firebase-config' in 'C:\...\src' と出ている場合、src フォルダ直下に該当ファイルが存在しているかを確認してください。
  2. ファイル名とimport文が一致しているかを確認
     → 大文字・小文字も区別されます。Windowsでは動作しても、Linux環境では動かないことがあります。
  3. ファイルが存在しているか確認
     → そもそもそのファイルを作成し忘れていないかをチェックしてください。

まとめ


ReactとFirebaseを連携させる際に発生する Module not found: Can't resolve エラーは、ファイル名の不一致が原因であることが多いです。

特に今回のケースでは、import文の指定ファイル名(firebase-config)と、実際のファイル名(firebase.js)が異なっていたことが原因でした。

基本的なことではありますが、エラーメッセージの内容を読み解き、正確にファイル名を一致させることで、簡単に解消できます。

IT・ガジェット・電子工作の知識をこれひとつで

画像に alt 属性が指定されていません。ファイル名: KU-Assocb-2017810-640x100._V518059506_.jpg

ここまで読んでいただきありがとうございます。最後に宣伝をさせてください。

PCアプリの操作解説、最新のガジェット情報、そして電子工作の専門書まで。 Kindle Unlimitedなら、あらゆるジャンルのIT・デジタル関連書籍が読み放題です。

「仕事の効率化」から「趣味の深掘り」まで、高価な専門書をわざわざ買わずに、必要な情報をその場で引き出せるのが最大のメリット。 現在は30日間の無料体験や、対象者限定の「3ヶ月499円」プランなどが用意されています。まずはご自身のアカウントでお得なオファーが表示されるかご確認ください。

[Kindle Unlimited 読み放題プランをチェックする]

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

私が勉強したこと、実践したこと、してることを書いているブログです。
主に資産運用について書いていたのですが、
最近はプログラミングに興味があるので、今はそればっかりです。

目次