首页 > 解决方案 > 类型错误:firebase.auth 不是函数

问题描述

我正在使用 Firebase 练习 ReactJs 应用程序。在一个出口中,我使用 auth() 对登录路由进行身份验证。最初,当我运行 firebase 服务时,它在本地主机中工作。但是在服务器端使用 axios 发布请求调用函数时使用 firebase deploy 进行部署后,它显示如下错误

我初始化了所有 req 导入

const { admin, db } = require("../utility/admin");
const config = require("../utility/config");
const firebase = require("firebase");
require("firebase/auth");
require("firebase/firestore");

错误:

TypeError: firebase.auth is not a function
    at exports.logIn (/srv/handlers/users.js:85:6)
    at Layer.handle [as handle_request] (/srv/node_modules/express/lib/router/layer.js:95:5)
    at next (/srv/node_modules/express/lib/router/route.js:137:13)
    at Route.dispatch (/srv/node_modules/express/lib/router/route.js:112:3)
    at Layer.handle [as handle_request] (/srv/node_modules/express/lib/router/layer.js:95:5)
    at /srv/node_modules/express/lib/router/index.js:281:22
    at Function.process_params (/srv/node_modules/express/lib/router/index.js:335:12)
    at next (/srv/node_modules/express/lib/router/index.js:275:10)
    at expressInit (/srv/node_modules/express/lib/middleware/init.js:40:5)
    at Layer.handle [as handle_request] (/srv/node_modules/express/lib/router/layer.js:95:5)

标签: reactjsfirebase

解决方案


我今天遇到了这个问题并有解决方案:

https://firebase.google.com/docs/reference/rest/auth

Firebase Auth 不是 Firestore 等 Cloud Functions 的组件,而是使用它自己的 REST API 端点。

用适当的 identitytoolkit.googleapis.com 端点替换您的 axios.post('/') 链接,我的朋友,它应该可以工作。

更新:将所有 firebase 软件包降级到更稳定的版本也对我有用。


推荐阅读