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

Hir*_*iya 15 dart firebase firebase-authentication flutter flutter-web

我正在尝试在 Flutter for Web 应用程序中使用 Firebase 身份验证实现登录功能。我已经可以使用 Firestore 在同一个应用程序中存储/提取数据而无需登录。

执行应用程序时,它显示错误“NoSuchMethodError:试图调用非函数,例如null:'dart.global.firebase.auth'”

我认为错误是由调用auth()方法引起的。

你能建议我应该如何解决吗?或者,Firebase 身份验证不支持 Flutter for web 吗??

导入的 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;
}
Run Code Online (Sandbox Code Playgroud)

Tra*_*der 31

您也需要将其包含在您的 index.html 文件中:

<script src="https://www.gstatic.com/firebasejs/7.8.0/firebase-auth.js"></script>
Run Code Online (Sandbox Code Playgroud)

  • 这为我提供了一个修复程序,插入此行并使我的应用程序正常工作后,我只需阅读前面的行,就会有一个提示,该提示来自 Firebase 设置步骤`&lt;!-- TODO: 为您想要的 Firebase 产品添加 SDK使用 https://firebase.google.com/docs/web/setup#available-libraries --&gt;` (2认同)