当使用角6和swagger码元时,我会得到与rxjs相关的类型记录编译器错误
Cannot find module 'rxjs-compat/Observable'
我发现了下面的https://github.com/ReactiveX/rxjs/blob/master/MIGRATION.md#rxjs-v5x-to-v6-update-guide
我在mac上使用swagger-codegen: stable 2.3.1 (与brew一起安装)。
我很感激你的指导。
更新
我使用以下方法将rxjs-compat添加到angular6项目中
npm install --save-dev rxjs-compat
我现在收到编译器警告,但是编译器错误消失了,该项目似乎正在运行。
发布于 2018-05-23 22:06:06
如果您正在从以前的角度版本迁移,请遵循以下指南:
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运算符有不同的实现。
也许您可以共享日志的副本,因此更容易理解导致错误/警告的原因。
发布于 2018-09-01 13:54:29
我也面临着同样的问题。
即使用2.4替换swagger生成器也没有解决这个问题,我发现的解决办法是将rxjscompat添加到项目中:npm install rxjs-compat@6
请参阅有关讨论的更多详细信息:https://github.com/swagger-api/swagger-codegen/issues/8179#issuecomment-402575414
发布于 2020-11-25 00:55:36
对于我来说,我使用了"swagger-codegen-cli-2.4.0.jar“来生成,并解决了"rxjs”问题,我在命令的末尾添加了以下内容:
--additional-properties ngVersion=6https://stackoverflow.com/questions/50416155
复制相似问题