[英]Firebase Error : Module not found: Error: Package path . is not exported from package
[英]Firebase Error : Module not found: Error: Package path . is not exported from package
我试图在我的 React.JS 应用程序上实现 Firebase 以进行身份验证。 但是,我不断收到此错误
./src/Pages/UserPage/contexts/AuthContext.js 8:0-32 中的错误
找不到模块:错误:Package 路径。 未从 package /Users/Aarnav/Desktop/JavaScript/my-app 副本 2/node_modules/firebase 导出(请参阅 /Users/Aarnav/Desktop/JavaScript/my-app 副本 2/node_modules/firebase/package.json 中的导出字段)
我的 firebase 设置如下所示,
import { initializeApp } from "firebase/app";
import { getAuth } from "firebase/auth";
const firebaseConfig = {
apiKey: "AIzaSyCPSbjZ9F1TgI43T0SH68rUi9TMHBXRw - s",
authDomain: "csia-41409.firebaseapp.com",
databaseURL: "https://csia-41409-default-rtdb.firebaseio.com",
projectId: "csia-41409",
storageBucket: "csia-41409.appspot.com",
messagingSenderId: "714268776254",
appId: "1:714268776254:web:93d9ef26a5d9c7d7f8be6f",
};
const app = initializeApp(firebaseConfig);
export const auth = getAuth();
我的 authcontext 看起来
import React, { useContext, useState, useEffect } from "react"
import { auth } from "firebase";
const AuthContext = React.createContext();
export function useAuth() {
return useContext(AuthContext);
}
export function AuthProvider({ children }) {
const [currentUser, setCurrentUser] = useState();
const [loading, setLoading] = useState(true);
function signup(email, password) {
return auth.createUserWithEmailAndPassword(email, password);
}
function login(email, password) {
return auth.signInWithEmailAndPassword(email, password);
}
useEffect(() => {
const unsubscribe = auth.onAuthStateChanged((user) => {
setCurrentUser(user);
setLoading(false);
});
return unsubscribe;
}, []);
auth.onAuthStateChanged((user) => {
setCurrentUser(user);
});
const value = {
currentUser,
login,
signup,
};
return (
<AuthContext.Provider value={value}>
{!loading && children}
</AuthContext.Provider>
);
}
同样出于某种原因,无论我在哪个路由器(页面)上,我的整个网站都是空白屏幕。 我相信这是因为上面提到的错误,但我不确定。
起初我以为是因为我使用的是 firebase 版本 9.14,但是,我更新了 firebase 的设置,但没有用,错误仍然存在。 我不知道如何消除错误。
在firebase V9中,您需要使用email和密码进行注册和登录:
import { createUserWithEmailAndPassword, getAuth, signInWithEmailAndPassword } from "firebase/auth";
const auth = getAuth();
function signup(email, password) {
return createUserWithEmailAndPassword(auth, email, password);
}
function login(email, password) {
return signInWithEmailAndPassword(auth, email, password);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.