Can';在RxJS 5.0中找不到'CombineRelateTest'

Can';在RxJS 5.0中找不到'CombineRelateTest',rxjs,rxjs5,Rxjs,Rxjs5,下面的代码使我产生了一个可观察的。CombineTest不是使用RxJS 5.0的函数: let Observable = require('rxjs/Observable.js').Observable; import 'rxjs/add/operator/combineLatest'; Observable .combineLatest([player, spaceShip], (shotEvents, spaceShip) => ({ x: spaceShip ? spac

下面的代码使我产生了一个可观察的
。CombineTest不是使用RxJS 5.0的函数

let Observable = require('rxjs/Observable.js').Observable;
import 'rxjs/add/operator/combineLatest';

Observable
.combineLatest([player, spaceShip], (shotEvents, spaceShip) => ({
    x: spaceShip ? spaceShip.x : board.canvas.width / 2,
    timestamp: shotEvents.timestamp
}))
所有其他观测值都可以解析,唯一未解析的函数是my
CombineTest
。我尝试了
observables/combinelatetest
,只是为了徒劳无功

我正在使用
webpack
babel
编译所有内容,代码能够解析
扫描
范围
间隔
映射
,以及其他一些内容。甚至
flatMap
使用
导入'rxjs/add/operator/mergeMap'工作

但不是
CombineTest

因此,如果有任何人有一个有效的例子,我们将不胜感激。除此之外,在文档中找不到任何其他内容

更新日期:2018年4月4日 在RxJs 5.5上,使用以下命令:

import { combineLatest } from 'rxjs/observable/combineLatest'
import { combineLatest } from 'rxjs'
前进(RxJs 6)使用以下方法:

import { combineLatest } from 'rxjs/observable/combineLatest'
import { combineLatest } from 'rxjs'

在我看来,这似乎是一个有关的错误

两种可能的解决办法:

  • 而不是
    导入'rxjs/add/operator/combineLatest',使用
    导入rxjs/rx
    。这将把所有操作符(包括
    combineLatest
    )注册到
    可观察的
  • 将导入的功能手动分配给原型:
    let Observable=require('rxjs/Observable.js')。Observable
    Observable.prototype.CombineTest=require('rxjs/add/operator/CombineTest')
  • 我认为这是与GitHub相关的问题

    我正在使用
    typescript@2.0.10
    RxJS@5.0.3
    webpack@2.1.0-beta.25
    。以下是我的作品:

    import { Observable } from 'rxjs/Observable';
    import 'rxjs/add/observable/combineLatest';
    
    Observable.combineLatest(
      source1,
      source2
    ).subscribe(sink);
    

    我使用的是RXJS 5.5.6,要导入
    CombineTest
    直接使用(不是作为操作员),我必须使用:

    import {combineLatest} from 'rxjs/observable/combineLatest'
    

    这就是我解决问题的原因

    导入“rxjs/add/observable/CombineTest”


    我正在使用rxjs v6

    如果CombineTest不工作,请尝试以下操作:

    import { combineLatest } from 'rxjs/observable/combineLatest'
    
    import { combineLatest } from 'rxjs'
    
    npm安装--保存rxjx兼容性


    确保您也导入了:import'rxjs/add/Observable/combineLatest'

    我想我会专门使用
    es6
    typescript
    我也有同样的问题。不仅仅是+1这篇文章,但我使用的是typescript,有着完全相同的问题。使用webpack,我的代码可以很好地编译,但在运行时,由于某些原因,这个函数并不存在。其他操作符工作时没有任何问题。从“rxjs”导入{combineLatest}对我有用。谢谢第一个解决方法让它对我有效。进口“rxjs/rx”;使用rxjs包版本5.0。3@MichaelLang请注意,这将实际导入所有RXJ,即包括所有操作员。因此,您的包大小将增加几个100kB!第二个选择更好@彼得拉尔伯特:好的,这里有一个严肃的问题。我一直在我所有的应用程序中导入rxjs,而没有
    rxjs/Rx
    。有人告诉我,它会增大尺寸。但这种增长到底有多大关系?我的组件中有3-5行rxjs的导入函数。当有这么多导入函数时,开发人员的幸福感会下降。@KaMok虽然开发人员的幸福感可能会增加,但应用程序的捆绑包大小会增加,因此用户的幸福感可能会降低。此外,构建时间将增加,因为构建任务必须处理整个RX库。有关详细信息,请检查-他们有一些关于影响的统计信息,因此您可以决定是否值得权衡。@KaMok请参阅有关性能的研究,以了解
    大小增加有多大的相关性?
    是否有具体原因让您选择这条路线而不是从“rxjs”导入{combineLatest}
    是导入{combineLatest}从rxjs来的对我不起作用。但我通过第二次运行npm安装解决了这个问题。谢谢谢谢,我很好奇,很多人都做了很多努力来引进这种方式