1、Firebase更新8.0.0后报错原因
在Firebase 8.0.0版中,Firebase SDK在处理导出方式方面发生了重大变化:
包中的浏览器字段。json文件现在指向ESM包而不是CJS包。使用ESM导入的用户现在必须使用默认导入,而不是名称空间导入。
1) Firebase 8.0.0之前
import * as firebase from 'firebase/app'
2) Firebase 8.0.0之后
import firebase from 'firebase/app'
使用require('firebase/app')
或require('firebase')
将仍然有效的代码,但是为了获得正确的输入(例如,用于代码完成),用户应将这些要求更改为 require('firebase/app').default
或require('firebase').default
。这是因为SDK现在使用ESM捆绑软件的类型,而不同的捆绑软件共享一个类型文件。
2、解决方法使用新的ESM bundle default export
import firebase from "firebase/app"
firebase.initializeApp({ ... })