angular - swagger codegen --> angular6: rxjs observable compile error
问题描述
当使用 angular 6 和 swagger codegen 时,我收到与以下相关的打字稿编译器错误rxjs
:
Cannot find module 'rxjs-compat/Observable'
我发现了以下 https://github.com/ReactiveX/rxjs/blob/master/MIGRATION.md#rxjs-v5x-to-v6-update-guide
我swagger-codegen: stable 2.3.1
在 Mac 上使用(安装了 brew)。
我很感激任何指导。
更新 - - - - - - - - - - - -
我使用添加rxjs-compat
到我的 angular6 项目中
npm install --save-dev rxjs-compat
我现在收到编译器警告,但编译器错误消失了,项目似乎正在运行
解决方案
如果您要从以前的 Angular 版本迁移,请遵循以下指南:
该rxjs-compat
包将与以前的rxjs
实现兼容。例如:
import { concat } from 'rxjs/observable/concat'
但是,这应该更新为版本 6 附带的新实现。例如:
import { catchError, map, switchMap } from 'rxjs/operators';
那就是说。您还必须使用 更改可观察运算符的实现pipe
。例如:
this.sampleService
.search(
payload.firstName,
payload.lastName,
payload.dateOfBirth
)
.pipe(
map(response => new sampleActions.SearchSuccess(response.json())),
catchError(error => of(new sampleActions.SearchFail(error)))
)
如您所见,运算符map
和catchError
使用运算符有不同的实现pipe
。
也许您可以共享日志的副本,以便更容易理解导致错误/警告的原因。
推荐阅读
- javascript - 用鼠标悬停改变正方形的颜色
- javascript - 如何更改提供这些元素的 id 数组的元素的类名?
- android - 如何发送音频文件以生成二维码?
- javascript - 从 API 调用外部 URL
- php - PHP PDO 查询不返回任何数据,返回显示数据的 isset()
- regex - 如何编写使用正则表达式过滤 where 子句的 Kusto 查询
- python - 在 tkinter 中确定网格空间是否为空
- google-cloud-functions - 谷歌云函数:触发器
- highcharts - 我在哪里可以找到旧版本 Highcharts 的 API 文档?
- c# - 从另一个 c# 项目调用 api 路由