Firebase在Web应用中运行良好,但是当我尝试在Android上运行时出现错误。

11 浏览
0 Comments

Firebase在Web应用中运行良好,但是当我尝试在Android上运行时出现错误。

当我尝试初始化Firebase Cloud Firestore时,遇到了以下错误:

Uncaught TypeError: WEBPACK_IMPORTED_MODULE_0_firebase.firestore不是一个函数

我之前使用npm install firebase --save安装了firebase。

import * as firebase from 'firebase';
import router from '../router';
const config = {
        apiKey: "a",
        authDomain: "a",
        databaseURL: "a",
        projectId: "a",
        storageBucket: "a",
        messagingSenderId: "a"
};
if(!firebase.apps.length){
  firebase.initializeApp(config);
  let firestore = firebase.firestore();
}

0
0 Comments

问题原因:在Android上运行Firebase应用程序时出现错误的原因可能是由于以下原因之一:

1. Firebase版本不兼容:可能是因为Firebase版本不兼容所致。确保使用最新版本的Firebase。

2. 依赖项缺失:可能是因为缺少某些依赖项所致。确保在项目中添加了正确的依赖项。

解决方法:

1. 确保安装了最新版本的Firebase。可以使用以下命令在项目中安装最新版本的Firebase:

npm install firebase.12.0 --save

2. 添加Firebase和Firestore到项目中。可以使用以下代码将Firebase和Firestore添加到项目中:

const firebase = require("firebase");
// Required for side-effects
require("firebase/firestore");

3. 初始化Firebase应用程序。使用以下代码初始化Firebase应用程序,并连接到Cloud Firestore:

firebase.initializeApp({
  apiKey: '### FIREBASE API KEY ###',
  authDomain: '### FIREBASE AUTH DOMAIN ###',
  projectId: '### CLOUD FIRESTORE PROJECT ID ###'
});
// Initialize Cloud Firestore through Firebase
var db = firebase.firestore();

通过按照上述步骤操作,您应该能够在Android上成功运行Firebase应用程序。

参考来源:https://firebase.google.com/docs/firestore/quickstart?authuser=0

0
0 Comments

问题的原因是使用了Firebase的版本9,但在Android上运行时出现错误。解决方法是使用compat库来代替版本9的Firebase库。具体步骤如下:

1. 使用以下代码替代原有的Firebase导入代码:

// v9 compat packages are API compatible with v8 code
import firebase from 'firebase/compat/app';
import 'firebase/compat/firestore';

2. 参考以下链接进行从版本8升级到版本9的操作:[https://firebase.google.com/docs/web/modular-upgrade](https://firebase.google.com/docs/web/modular-upgrade)。

需要注意的是,compat库只是一个临时解决方案,在未来的主要SDK版本(例如版本10或版本11)中将完全移除。因此,最终的目标是将compat代码移除,只保留版本9的模块化代码。

目前可以使用compat库,但建议在未来尽快切换到模块化代码。

0
0 Comments

问题的原因是在Android上运行时,Firebase在Web App中运行正常,但是在Android上运行时出错。解决方法是导入多个库:firebasefirebase/firestore。这是因为firebase核心库不包括firestore库。具体解决方法如下:

import firebase from 'firebase/app';
import 'firebase/firestore';

如果您在使用React Native,这可能会在Android上出现问题,但在iOS上应该没有问题。截至2019年2月,这种解决方法是完美的。感谢您!:)

感谢您的回答!第二个导入语句是我所缺少的。我正在使用纯JavaScript构建一个简单的聊天应用程序,在HTML文件的标签中已经包含了静态URL,但仍然出现此错误,请帮助我,提前感谢!

0