我正在尝试使用Flutter for Web应用程序中的Firebase身份验证实现登录功能。 我已经可以使用Firestore在同一应用中存储/提取数据,而无需登录。
在执行应用程序时,它显示错误“ NoSuchMethodError:尝试调用非函数,例如null:'dart.global.firebase.auth'”
我认为该错误是由调用auth()
方法引起的。
能否请您告诉我该如何解决? 或者,是否尚不支持针对Web的Flutter Firebase身份验证?
导入的firebase.dart。 https://firebase.google.com/docs/reference/js/firebase
import 'package:firebase/firebase.dart';
使用auth()初始化对象,然后从参数中调用登录方法。
final Auth _auth = auth();
Future<UserCredential> signIn(String email, String password) async {
final UserCredential user = await _auth.signInAndRetrieveDataWithEmailAndPassword(email, password);
return user;
}
答案 0 :(得分:9)
您还需要在index.html文件中添加此内容:
<script src="https://www.gstatic.com/firebasejs/7.8.0/firebase-auth.js"></script>
答案 1 :(得分:1)
在我的情况下,我必须刷新缓存,使用 R 重新加载/热重新加载 dart 是不够的,所以继续 chrome 并同时按 CTRL+SHIFT+R 清除缓存。