我已经将firebase JS SDK从v7升级到了v8.0.0,我正在像这样导入firebase。
import * as firebase from 'firebase';
访问以下任何内容会导致以下错误。
firebase.firestore.FieldValue.serverTimestamp()
firebase.User
firebase.auth.UserCredential
在'firebase'中未找到导出'firestore'(作为'firebase'导入)属性'firestore'在类型'typeof import(“appPath/node_modules/firebase/index”)'上不存在
我已经找到了一个变通办法,将firebase更改为firebase。
firebase.default.firestore.FieldValue.serverTimestamp()
这是解决此问题的正确方法吗?
编辑:我也在项目中使用AngularFire。我尝试使用:
import firebase from 'firebase/app';
import 'firebase/firestore';
export const firestore = firebase.firestore();
但这给了我以下错误:
未捕获的Firebase错误:Firebase:未创建Firebase应用程序“[DEFAULT]”-调用Firebase应用程序。initializeApp()(应用程序/无应用程序)。
7条答案
按热度按时间oalqel3c1#
对于在版本9 Firebase上遇到类似错误的用户,请确保将路径更改为:
而不是:
取自firebase doc
7gs2gvoe2#
当我更新到Angular 11时,我遇到了同样的问题。我尝试了安装firebase管理库的修复程序,并按照this thread的指示操作,但这不应该在浏览器中运行,并导致了一些其他问题,所以我放弃了。
我从AngularFire的release notes中注意到最新版本不支持旧版本的JS SDK,这就是这个函数的来源,所以我删除了node_modules,package-lock.json文件,并运行npm cache clean --force,然后运行npm install来干净运行。这没有什么作用,但我感觉完成了。
然后我遇到了this thread,它解释了我的问题,并通过将库从
'import * 从'firebase/app '导入为firebase;
至
从“firebase/app”导入firebase;
这样就消除了“找不到firestore”错误,并且编译正确。可以使用原始代码:
(2)如果是,则返回firebase.firestore.字段值.服务器时间戳;}
希望这对你有帮助-这是一个粘粘的虫子。
c6ubokkw3#
用途
代替
这可能会有所帮助
1l5u6lss4#
嗨,这里是我使用的表单。
从'@angular/fire/compat/auth'导入{Angular 防火认证};
从“firebase/compat/app”导入firebase;
希望这对夏侯惇有所帮助!
svdrlsy45#
之前:版本8
更改为====〉
后:版本9紧凑型
rmbxnbpk6#
其实你只要做:
s3fp2yjn7#
编译时出现问题:在“firebase/app”中未找到导出“default”(作为“firebase”导入)
根据v9更新,我已经更改了导入语句,但错误仍然存在