Vue 2集成Firebase 9报错:'firebase/firestore'未导出getFirestore
报错原因
该报错本质是项目运行环境无法从firebase/firestore包中识别V9版本新增的模块化API,按以下顺序排查即可解决:
解决步骤
- 确认Firebase版本符合要求
打开项目根目录的package.json文件,查看dependencies字段下的firebase条目,版本必须≥9.0.0才支持你代码中用的模块化导入语法。如果版本低于要求,执行升级命令:
npm install firebase@latest
升级完成后重启本地开发服务测试。
- 修复损坏的本地依赖
如果版本符合要求,说明本地依赖缓存或文件损坏,按以下操作重置依赖:
- 删除项目根目录下的
node_modules文件夹 - 删除项目根目录下的包锁文件:npm对应
package-lock.json、yarn对应yarn.lock、pnpm对应pnpm-lock.yaml - 重新执行依赖安装命令:
npm install
安装完成后重启本地开发服务测试。
- 兼容旧构建工具的解析规则
如果前两步操作后仍报错,说明你使用的Vue CLI/Vite等构建工具版本较低,对ESM模块的解析规则有缺陷,可以把Firestore的导入路径替换为兼容写法:
// 将原来的 firebase/firestore 导入替换为 import { getFirestore, collection, getDocs } from 'firebase/firestore/lite'
额外校验项
确认你addFormula.vue中导入db的路径正确:你的导入语句是import { db } from "../firebase/db",对应的db.js必须放在项目src/firebase目录下,否则会触发连带的导入错误。
内容的提问来源于stack exchange,提问作者akemedis
相关产品推荐
相关产品推荐

