在Flutter for Web中初始化auth()时,“ NoSuchMethodError:尝试调用非函数,例如null:'dart.global.firebase.auth'”

时间:2019-07-19 14:39:44

标签: firebase flutter dart firebase-authentication flutter-web

我正在尝试使用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;
}

2 个答案:

答案 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 清除缓存。