Angular 11/12集成getstream.io聊天出现TS1259报错如何解决?
报错解决方案
你遇到的是TypeScript对CommonJS模块的导入兼容报错,stream-chat依赖的isomorphic-ws、form-data库采用export =的CommonJS规范导出,需要调整项目TypeScript配置解决:
- 打开项目根目录的
tsconfig.json文件,在compilerOptions配置项中添加以下两个参数:
{ "compilerOptions": { "allowSyntheticDefaultImports": true, "esModuleInterop": true, // 你之前已经添加的types配置保留 "types": ["node"] } }
- 如果项目存在独立的
tsconfig.app.json配置文件,也需要同步添加上述两个参数,保证配置在应用运行时生效。 - 配置修改完成后,删除本地的
node_modules文件夹、package-lock.json或yarn.lock文件,重新执行npm install安装依赖后启动项目即可消除报错。
Angular 11/12 兼容性说明
stream-chat的JavaScript核心SDK是框架无关的,仅依赖运行环境的原生API,和Angular版本没有强绑定关系。Angular 9及之后的大版本核心API(依赖注入、服务定义等)没有破坏性变更,官方提供的Angular 9集成教程的逻辑完全可以适配Angular 11/12版本,你当前编写的ChatService初始化逻辑没有问题,完成上述配置调整后即可正常使用getstream.io的聊天功能。
内容的提问来源于stack exchange,提问作者user16831793
相关产品推荐
相关产品推荐

