导入Angular Firebase报错:找不到模块'firebase',求解决方案
解决Angular Firebase导入模块找不到的问题
先确认依赖安装是否正常
打开项目根目录的package.json,检查dependencies里有没有firebase和@angular/fire这两个包。如果没有,重新执行正确的安装命令:npm install firebase @angular/fire --save如果已经有这两个依赖,但还是报错,删除
node_modules文件夹和package-lock.json(用yarn的话删yarn.lock),再重新安装:# macOS/Linux rm -rf node_modules package-lock.json && npm install # Windows rmdir /s /q node_modules && del package-lock.json && npm install调整导入方式(适配Firebase v9+模块化架构)
现在Firebase SDK普遍是v9及以上版本,不再推荐import * as firebase from "firebase"这种全量导入方式,建议用模块化导入:// 比如导入Firestore核心功能 import { getFirestore } from "firebase/firestore"; // 或者用Angular Fire的封装模块 import { AngularFirestore } from '@angular/fire/compat/firestore';如果一定要用旧的命名空间导入方式,需要安装兼容包:
npm install @firebase/app-compat然后修改导入语句:
import * as firebase from '@firebase/app-compat';检查TypeScript配置
打开tsconfig.json,确保compilerOptions里的以下配置正确:{ "compilerOptions": { "moduleResolution": "node", "allowSyntheticDefaultImports": true, "esModuleInterop": true } }重启IDE和开发服务器
有时候IDE的缓存会导致错误提示不更新,重启VS Code(或你用的IDE),同时重启Angular开发服务器:ng serve --restart
内容的提问来源于stack exchange,提问作者ESTI COHEN
相关产品推荐
相关产品推荐

