繁体   English   中英

Firebase 错误:找不到模块:错误:Package 路径。 不从 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM