Flutter Web部署至Firebase后无法访问Firestore数据的问题排查
Flutter Web部署Firebase托管后Firestore访问失败问题
本地运行Flutter Web项目时,无论是通过flutter run --release启动,还是用dhttpd --path build/web/运行,访问Firestore数据的代码都能正常工作,但通过firebase deploy部署到Firebase托管后,出现功能失效并抛出错误。
代码示例
import 'package:cloud_firestore/cloud_firestore.dart'; ... final json = (await _firestore.collection(name).doc(id).get()).data();
报错信息
MissingPluginException(No implementation found for method DocumentReference#get on channel plugins.flutter.io/firebase_firestore)
(注:浏览器控制台截图显示上述相同错误内容)
可能缺失的配置排查点
检查
web/index.html是否正确注入Firebase Web初始化脚本,必须包含Firestore对应的CDN脚本,版本需与项目依赖的Firebase插件版本匹配,示例:<script src="https://www.gstatic.com/firebasejs/9.23.0/firebase-firestore.js"></script>同时确保初始化代码中完成Firestore的初始化:
const db = firebase.firestore();确认
firebase.json的托管配置无误,public字段需指向build/web,避免自定义重写规则拦截Firestore相关请求。重新构建项目,先清除缓存再执行发布构建:
flutter clean flutter build web --release检查
build/web/main.dart.js是否包含Firestore的Web实现代码,避免构建过程中遗漏插件适配逻辑。升级
pubspec.yaml中cloud_firestore和firebase_core到最新稳定版,版本不兼容可能导致Web端插件实现缺失。
内容的提问来源于stack exchange,提问作者polina-c
相关产品推荐
相关产品推荐

