【问题标题】:Reactjs backend connection issueReactjs后端连接问题
【发布时间】:2021-11-25 13:52:31
【问题描述】:

我的问题是我的浏览器显示 fire store 无法连接到后端:

@firebase/firestore: Firestore (9.1.1): Could not reach Cloud Firestore backend. Connection failed 1 times. Most recent error: FirebaseError: [code=permission-denied]: Permission denied on resource project MY_PROJECT_ID.
This typically indicates that your device does not have a healthy Internet connection at the moment. The client will operate in offline mode until it is able to successfully connect to the backend.

我的 firebase.js 代码是

import firebase from "firebase/compat/app";
import "firebase/compat/auth";
import "firebase/compat/firestore";
import "firebase/compat/storage";

const firebaseConfig = {
  apiKey: MY_API_KEY,
  authDomain: MY_AUTH_DOMAIN,
  projectId: MY_PROJECT_ID,
  storageBucket: MY_STORAGE_BUCKET_URL,
  messagingSenderId: MY_MESSAGING_SENDER_ID,
  appId: MY_APP_IP,
  measurementId: MY_MEASUREMENT_ID,
};

const firebaseApp = firebase.initializeApp(firebaseConfig);
const db = firebaseApp.firestore();
const auth = firebase.auth();
const provider = new firebase.auth.GoogleAuthProvider();
const storage = firebase.storage();

export { auth, provider, storage };
export default db;

请帮帮我。

【问题讨论】:

    标签: reactjs firebase google-cloud-firestore react-redux react-router


    【解决方案1】:

    新的 firebase v(9.1.1) 是基于模块化的版本。因此,您必须从各自的文件中以命名导入的形式导入所有内容。 例如:-

    import {  initializeApp } from 'firebase/app'
    import { getFirestore } from 'firebase/firestore'

    const firebase = initializeApp({
      apiKey: MY_API_KEY,
      authDomain: MY_AUTH_DOMAIN,
      projectId: MY_PROJECT_ID,
      storageBucket: MY_STORAGE_BUCKET_URL,
      messagingSenderId: MY_MESSAGING_SENDER_ID,
      appId: MY_APP_IP,
      measurementId: MY_MEASUREMENT_ID,  
     })
     
     const firestore = getFirestore()
     
     

    在 v(9.1.1) 中不支持使用 firebase 的方法/函数方式,这可能有助于摇树(仅加载所需的文件/函数,而不是整个库),从而节省加载时间并创建快速用户经验。

    有关详细信息,请查看以下视频:-enter link description here

    还可以查看 firebase 文档:-enter link description here

    【讨论】:

      【解决方案2】:

      您能否尝试生成一个新的firebaseConfig 文件?你可以这样做

      1. 转到您的项目设置。
      2. 在页面底部有一个名为 Your apps 的部分。
      3. 在该部分的右上角,单击标有Add App 的按钮。
      4. 选择 webapp 的图标(左起第三个)。
      5. 为新的网络应用选择名称后,您将获得新的fbconfig
      6. 将新的fbconfig 复制到您的项目中,然后重试。

      请告诉我发生了什么。

      编辑 0 -

      【讨论】:

      • 其实那个配置是​​我的一个朋友fbconfig 我正在使用他告诉我我可以在我的项目中使用它,我没有他的帐户详细信息
      • 所以您无法生成新的 fbConfig?可能是您在某处的 fbConfig 中有错误。您需要检查您是否完全复制了它。我的意思是他可能只是从他的项目中删除了这个 fbConfig。
      • 我的朋友配置数据库包含一些我没有的数据
      • 您想开始自己的 Firebase 项目吗?我认为这对你来说比依赖一个你无权访问的项目更容易。开始自己的项目非常容易。如果您的朋友想让您访问他的项目,他可以将您添加为编辑器或查看器。他可以通过在我的答案中转到图像中的用户和权限来做到这一点
      • 有没有其他办法
      猜你喜欢
      • 2019-09-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-19
      • 1970-01-01
      • 2021-06-28
      • 1970-01-01
      相关资源
      最近更新 更多