Reactjs firebase.initializeApp不是函数
我正在尝试在React中创建一个站点,我使用Reactjs firebase.initializeApp不是函数,reactjs,firebase,Reactjs,Firebase,我正在尝试在React中创建一个站点,我使用npm I Firebase--save添加了Firebase库 然后我尝试在我的应用程序中调用此功能,但我没有多少乐趣: import * as firebase from "firebase"; const instance = firebase.initializeApp({ apiKey: '123', authDomain: 'https://123.firebaseapp.com/', databaseURL: 'https:
npm I Firebase--save添加了Firebase库
然后我尝试在我的应用程序中调用此功能,但我没有多少乐趣:
import * as firebase from "firebase";
const instance = firebase.initializeApp({
apiKey: '123',
authDomain: 'https://123.firebaseapp.com/',
databaseURL: 'https://123.firebaseio.com/'
});
export default instance;
无论我尝试什么,它都会抛出:
firebase.initializeApp不是函数
我已经在我的node_模块中检查了它,并重新安装了它,但我仍然没有这样的运气
有什么建议吗?请尝试一下:
var firebase=require('firebase/app')代码>
。我改用@firebase/app 0.1.10
npm包解决了这个问题
从'@firebase/app'导入{firebase}代码>
在next.jsv5.1.0
项目中使用它。我就是这样解决这个问题的
import firebase from "firebase";
const firebaseConfig = {
apiKey: "Api Key",
authDomain: "Domain",
databaseURL: "URL",
projectId: "ID",
};
const firebaseApp = firebase.initializeApp(firebaseConfig);
const db = firebaseApp.firestore();
export default db;
我的Vue应用程序中的firestore也有同样的问题
我在firebase.js文件中做了以下操作,最终取得了成功:
import { firebase } from '@firebase/app'
与之相反:
import * as firebase from 'firebase/app'
此外,如果您正在使用任何特定的firebase模块,则需要单独导入它们,如下所示:
import '@firebase/auth'
import '@firebase/firestore'
const db = firebase.firestore()
const auth = firebase.auth()
export { db, auth }
希望这对其他人有所帮助。也遇到了同样的问题,但在VUE中,如果可行,我解决了分别导入每个元素的问题
// This import loads the firebase namespace.
import firebase from 'firebase/app';
// These imports load individual services into the firebase namespace.
import 'firebase/auth';
import 'firebase/database';
import 'firebase/firestore';
import 'firebase/storage';
希望能有所帮助;) David East有一段关于firebase和react的精彩视频。过来看。从他的视频中,他只从项目中的主文件初始化firebase,而不导出它。这是链接。希望这有助于解决问题,我已经尝试过了,但仍然无法使其正常工作。您是否可以尝试(仅出于调试目的)要求firebase如下:const firebase=require('firebase')
。另外,您使用了哪个版本的firebase?这仍然会引发相同的错误。我正在使用3.6.8版本的firebase(web),我已经更新了我的答案。请你检查一下好吗?很好,安迪肯沃德,我错了!我本来会编辑评论的,但SO不支持,所以删除并留下这条评论来给你道具。(我看到NPM上的“更新人…”是一个个人帐户,而不是一个看起来像谷歌的帐户,我没有注意到这是一个官方贡献者,并错误地表示担心这个软件包是第三方的。)谢谢!似乎与上面的答案相似。你能告诉我这是怎么回事吗?为什么firebase甚至公开了一个作用域为@firebase/app的包?为什么节点_模块中的@firebase和常规firebase目录都有作用域?谢谢!你能告诉我这是怎么回事吗?为什么firebase甚至公开一个作用域@firebase/app
包?为什么在节点单元
中同时存在作用域@firebase
和常规firebase
目录?