【发布时间】:2022-01-25 15:38:32
【问题描述】:
我正在尝试在我的 react.js 项目中实现 firebase。为了遵循说明,我目前使用的是 firebase 版本 7.15.5(至少我认为因为我的两个 .json 文件都说 firebase 7.15.5)所以我的语法与说明相同。当我转到 npm start 我的反应项目时,我收到以下错误:
Failed to compile.
Module not found: Error: Package path . is not exported from package /Users/jasonvitalejr/react-app/grey-hackbu/node_modules/firebase (see exports field in /Users/jasonvitalejr/react-app/grey-hackbu/node_modules/firebase/package.json)
Did you mean './firebase'?
Requests that should resolve in the current directory need to start with './'.
Requests that start with a name are treated as module requests and resolve within module directories (node_modules, /Users/jasonvitalejr/react-app/grey-hackbu/node_modules).
If changing the source code is not an option there is also a resolve options called 'preferRelative' which tries to resolve these kind of requests in the current directory too.
assets by status 6.89 KiB [cached] 1 asset
assets by chunk 1.82 MiB (name: main)
asset static/js/bundle.js 1.82 MiB [emitted] (name: main) 1 related asset
asset main.c55928e95e4d10c4a055.hot-update.js 4.78 KiB [emitted] [immutable] [hmr] (name: main) 1 related asset
assets by path *.json 1 KiB
asset asset-manifest.json 583 bytes [emitted]
asset main.c55928e95e4d10c4a055.hot-update.json 442 bytes [emitted] [immutable] [hmr]
asset index.html 1.67 KiB [emitted]
Entrypoint main 1.82 MiB (1.8 MiB) = static/js/bundle.js 1.82 MiB main.c55928e95e4d10c4a055.hot-update.js 4.78 KiB 2 auxiliary assets
cached modules 1.64 MiB [cached] 243 modules
runtime modules 31.3 KiB 15 modules
./src/App.js 2.94 KiB [built] [code generated]
WARNING in src/App.js
Line 1:27: 'useEffect' is defined but never used no-unused-vars
Line 4:10: 'db' is defined but never used no-unused-vars
Line 8:17: 'setPosts' is assigned a value but never used no-unused-vars
ERROR in ./src/firebase.js 3:0-32
Module not found: Error: Package path . is not exported from package /Users/jasonvitalejr/react-app/grey-hackbu/node_modules/firebase (see exports field in /Users/jasonvitalejr/react-app/grey-hackbu/node_modules/firebase/package.json)
Did you mean './firebase'?
Requests that should resolve in the current directory need to start with './'.
Requests that start with a name are treated as module requests and resolve within module directories (node_modules, /Users/jasonvitalejr/react-app/grey-hackbu/node_modules).
If changing the source code is not an option there is also a resolve options called 'preferRelative' which tries to resolve these kind of requests in the current directory too.
@ ./src/App.js 9:0-32
@ ./src/index.js 7:0-24 11:33-36
webpack 5.65.0 compiled with 1 error and 1 warning in 644 ms
我是 firebase 的新手并做出反应,所以我不确定如何解释这一点。仅供参考,这是我正在使用的 firebase 配置文件:
import firebase from 'firebase';
const firebaseApp = firebase.initializeApp({
apiKey: "AIzaSyATcQBcBVJAYZbn9EfKNq6DjXtFdx25tss",
authDomain: "grey-hackbu.firebaseapp.com",
projectId: "grey-hackbu",
storageBucket: "grey-hackbu.appspot.com",
messagingSenderId: "748662363480",
appId: "1:748662363480:web:4faf4f4fcd12e0f20d012d",
measurementId: "G-7GDWG2D6FF"
});
const db = firebaseApp.firestore();
const auth = firebase.auth();
const storage = firebase.storage();
export {db, auth, storage}
当我运行 firebase - -V 时,它会显示 10.0.1,但在我的两个 .json 文件中都会显示 7.15.5。我不认为这是一个问题,因为我最近刚刚返回到版本 7.15.5,并且在使用最新版本的 firebase 时遇到了同样的错误。
有人对如何解决这个问题有任何想法吗?
【问题讨论】:
-
您可以尝试将您的导入更改为
import * as firebase from "firebase/app"并查看是否有效? -
@tomerpacific 当我尝试这个时,我又收到 2 个错误,说在“firebase/app”中找不到“auth”和“storage”。
-
认证使用
import { } from 'firebase/auth',存储使用import { } from 'firebase/firestore' -
@tomerpacific 即使在尝试此操作并单独导入它们之后也会发生相同的错误。还有其他想法吗?
-
从您的项目中完全删除 firebase 并通过正确遵循 documentation 重新开始。
标签: reactjs firebase firebase-realtime-database google-cloud-firestore