使用AngularFire2的Ionic项目构建时提示找不到"rxjs/observable"模块求助
解决Ionic+AngularFire2构建错误:无法找到模块"rxjs/observable"
嘿,我之前也碰到过一模一样的问题,大概率是RxJS版本兼容问题或者依赖安装出了小差错,不用慌,咱们一步步来排查解决:
先确认依赖版本是否匹配
AngularFire2和RxJS的版本绑定得很严,不同版本的AngularFire2对应不同的RxJS版本——比如AngularFire2 5.x系列要搭配RxJS 5.x,而6+版本的AngularFire2则需要RxJS 6+。打开你的package.json文件,核对下rxjs、angularfire2还有firebase的版本,如果不匹配,先卸载现有依赖再重装对应版本:# 卸载当前依赖 npm uninstall rxjs angularfire2 firebase # 安装适配版本(以AngularFire2 5.4.2 + RxJS 5.5.12为例,你可以根据自己的Ionic版本调整) npm install rxjs@5.5.12 angularfire2@5.4.2 firebase@5.9.4 --save检查代码里的导入路径
RxJS 6之后导入路径做了大调整,原来的import { Observable } from 'rxjs/observable'在RxJS 6里要改成import { Observable } from 'rxjs'。你可以全局搜一下项目里的rxjs/observable导入语句,把所有旧路径替换成新的。清理缓存重新构建
有时候缓存会搞鬼,导致依赖加载异常,执行这串命令清理后重装:# 清理npm缓存 npm cache clean --force # 删除node_modules和锁文件 rm -rf node_modules package-lock.json # 重新安装依赖 npm install # 本地先测试构建 ionic build --prod检查Ionic平台构建配置
推送到Ionic平台前,先在本地用ionic build --prod测试能不能正常构建,排除本地环境的问题。另外确认ionic.config.json里的构建配置没有异常,比如有没有额外的路径映射干扰了依赖加载。
如果以上步骤都试过还是不行,可以把你的package.json内容贴出来,我再帮你核对版本匹配的问题~
内容的提问来源于stack exchange,提问作者Wp3Dev
相关产品推荐
相关产品推荐

