rxjs/Subscription 没有导出成员“订阅" [英] rxjs/Subscription has no exported member 'Subscription'

查看:16
本文介绍了rxjs/Subscription 没有导出成员“订阅"的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我将我的 angular 项目和所有依赖项更新到最新版本.我很轻松地解决了大部分依赖问题,但我仍然坚持使用 RxJS.这是我的 package.json:

I updated my angular project and all my dependencies to latest version. Without to much trouble I solved most of the dependency issues, but I'm still stuck on RxJS. Here is my package.json:

  "dependencies": {
    "@angular-devkit/build-angular": "^0.6.0",
    "@angular/animations": "^6.0.0",
    "@angular/common": "^6.0.0",
    "@angular/compiler": "^6.0.0",
    "@angular/core": "^6.0.0",
    "@angular/forms": "^6.0.0",
    "@angular/http": "^6.0.0",
    "@angular/platform-browser": "^6.0.0",
    "@angular/platform-browser-dynamic": "^6.0.0",
    "@angular/router": "^6.0.0",
    "angular-bootstrap-md": "^6.0.1",
    "core-js": "^2.5.5",
    "font-awesome": "^4.7.0",
    "rxjs": "^6.1.0",
    "zone.js": "^0.8.26"
  },
  "devDependencies": {
    "@angular/cli": "~6.0.0",
    "@angular/compiler-cli": "^6.0.0",
    "@angular/language-service": "6.0.0",
    "@types/jasmine": "~2.8.3",
    "@types/jasminewd2": "~2.0.3",
    "@types/node": "~6.0.60",
    "codelyzer": "^4.0.1",
    "electron": "^1.8.3",
    "jasmine-core": "~2.8.0",
    "jasmine-spec-reporter": "~4.2.1",
    "karma": "~2.0.2",
    "karma-chrome-launcher": "~2.2.0",
    "karma-coverage-istanbul-reporter": "^1.4.2",
    "karma-jasmine": "~1.1.2",
    "karma-jasmine-html-reporter": "^1.0.0",
    "protractor": "~5.3.1",
    "ts-node": "~6.0.2",
    "tslint": "~5.10.0",
    "typescript": "~2.7.2"

我只从 RxJS 导入两个模块:

I'm only importing two modules from RxJS:

import { fromPromise } from 'rxjs/observable/fromPromise';
import { Subscription } from 'rxjs/Subscription';

他们都给出了同样的错误:

They are both giving the same error:

    [ts] Module '"***/node_modules/rxjs/Subscription"' has no exported
 member 'Subscription'.

对于fromPromise 来说完全一样.这是我从 Subscribtion.d.ts 得到的错误信息(我没有以任何方式修改代码)

It's exactly the same for fromPromise. Here is the error message I'm getting from Subscribtion.d.ts (I have not modified the code in any way)

更新:

下面的答案解决了订阅的问题,但 fromPromise 即使正确导出,仍然出现同样的问题:

The answers bellow solved the issue with Subscription but fromPromise still gives the same issue even though it's exported correctly:

export * from 'rxjs-compat/observable/fromPromise';

推荐答案

RxJS 6 有很多突破性的变化.例如,原型方法

There is a lot of breaking changes with RxJS 6. For example, prototype methods as

myObservable.map(data => data * 2)

不再起作用,必须用

myObservable.pipe(map(data => data * 2))

可以在此处找到所有详细信息:https://github.com/ReactiveX/rxjs/blob/master/docs_app/content/guide/v6/migration.md

All details can be found here: https://github.com/ReactiveX/rxjs/blob/master/docs_app/content/guide/v6/migration.md

在修复所有破坏性更改之前,您可以使用 rxjs-compat (https://github.com/ReactiveX/rxjs/tree/master/compat).

Until you have fixed all breaking changes, you can make your old code work again with rxjs-compat (https://github.com/ReactiveX/rxjs/tree/master/compat).

需要这个包才能向后兼容 RxJS版本 6 之前的版本.它包含将运算符添加到的导入Observable.prototypeObservable 的创建方法.

This package is required to get backwards compatibility with RxJS previous to version 6. It contains the imports to add operators to Observable.prototype and creation methods to Observable.

输入以下内容进行安装:

Type this to install it:

npm install -s rxjs-compat

这篇关于rxjs/Subscription 没有导出成员“订阅"的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆