Angular13升级RxJS7后导入Observable提示rxjs模块找不到声明问题
Angular 13 + RxJS 7 构建报错「找不到rxjs模块声明」解决方案
- 卸载多余的@types/rxjs包
RxJS 7及以上版本已经内置了完整的TypeScript类型定义,不需要额外安装第三方类型包,@types/rxjs仅适用于RxJS 6及更低版本,额外安装会和RxJS内置类型冲突,导致声明找不到的错误。
执行以下命令卸载:
npm uninstall @types/rxjs # 如使用yarn则执行 yarn remove @types/rxjs
- 清理缓存重装依赖
删除项目目录下的node_modules文件夹、package-lock.json(yarn用户删除yarn.lock)文件,再执行npm install(yarn用户执行yarn install)重新拉取所有依赖,避免旧缓存影响。 - 补充tsconfig类型扫描配置
在tsconfig.json的compilerOptions节点下添加typeRoots配置,明确TypeScript的类型扫描路径:
"compilerOptions": { // 原有配置保留 "typeRoots": [ "node_modules/@types" ] }
- 清除IDE类型缓存
如果你使用VS Code等带有TypeScript实时检查的IDE,执行完上述操作后重启IDE,或调出命令面板执行「TypeScript: Restart TS Server」,消除IDE侧的缓存报错。
内容的提问来源于stack exchange,提问作者Guy Gallant
相关产品推荐
相关产品推荐

