firebase.auth不是一个函数。
firebase.auth不是一个函数。
我正在使用Webpack和firebase-admin。
为了安装firebase,我运行了:
npm install --save firebase
我使用以下方法导入firebase:
import * as firebase from 'firebase/app' import 'firebase/auth'
我也尝试了:
import * as firebase from 'firebase'
我还尝试过:
const firebase = require('firebase')
正如Web入门指南中建议的那样。
但是,当我尝试使用firebase.auth()
时,我收到了一个错误:
console.js:32 TypeError: firebase.auth is not a function
当我使用debugger检查firebase
时,我发现它确实没有一个auth
函数:
> firebase {__esModule: true, initializeApp: ƒ, app: ƒ, Promise: ƒ, …}
如何使用webpack作为函数包含auth()
?
admin 更改状态以发布 2023年5月20日
问题并不在于node_modules
,而是在于导入组件的方式。
当你使用ES6导出组件时,通常会这样做:export default () => { console.log('default component export'); };
default
是关键词,当你像这样使用ES6导入组件时:import firebase from 'firebase'
,它正在从导出对象中抓取default
属性。
在考虑上面的例子时,以下是你做错的地方。
使用ES6:
import * as firebase from 'firebase' console.log(firebase.auth) // Undefined console.log(firebase.default.auth) // Function
使用ES5:
var firebase = require('firebase') console.log(firebase.auth) // Undefined console.log(firebase.default.auth) // Function
注意.default
。