找不到模块“ rxjs-compat / Subscription”

时间:2019-01-30 23:41:13

标签: rxjs rxjs5 rxjs6

enter image description here我正在尝试按照指南here从rx5迁移到rx6。最初,我与rxjs-compat软件包一起安装,并且一切正常。但是,当我尝试删除rxjs-compat软件包时,出现了异常Cannot find module 'rxjs-compat/Subscription'。我使用rxjs-5-to-6-migrate执行迁移

我正在对Subscription使用以下语句:从“ rxjs”导入{Subscription};

作为参考,这是我的分支-https://github.com/akshita31/omnisharp-vscode/tree/rxjs_update,这是列出所有更改的相应拉取请求-https://github.com/OmniSharp/omnisharp-vscode/pull/2830

2 个答案:

答案 0 :(得分:0)

您是否仍然有一些仍在使用rxjs-compat的进口商品?

随着从rxjs 5到6的迁移,您需要非常小心所有导入,因为您不想从错误的错误路径导入某些模块。我相信rxjs-tslint可以为您提供帮助。

答案 1 :(得分:0)

我将所有依赖项更新为最新版本,并按如下所述使用rxjs-tslint-rules

  1. npm安装rxjs-tslint-rules --save-dev
  2. 然后在我的tslint.json中添加规则"rxjs-no-compat" : true
  3. 在项目文件夹中执行./node_modules/.bin/tslint -c tslint.json -p tsconfig.json。这将提供所有无效的导入集
  4. 解决无效的导入,然后尝试删除rxjs-compat软件包。
  5. 我还清理了npm缓存-npm cache clean --force
  6. 如果没有更多错误,我们也可以从package.json中删除上述tslint依赖项 有关更多详细信息,请参见本期。

感谢@cartant提供帮助