为什么tsc(Typescript编译器)忽略RxJS导入?
我已经使用JSPM和SystemJS设置了Angular2项目。我尝试在我的为什么tsc(Typescript编译器)忽略RxJS导入?,typescript,angular,rxjs,systemjs,jspm,Typescript,Angular,Rxjs,Systemjs,Jspm,我已经使用JSPM和SystemJS设置了Angular2项目。我尝试在我的boot.ts文件中导入RxJS和一些操作符,但我的导入没有被传输到boot.js输出中。所以 // boot.ts import {Observable} from 'rxjs/Observable' import 'rxjs/add/operator/debounceTime' ... 正如这里所概述的:最终成为 // boot.js System.register(['rxjs/add/operator/debo
boot.ts
文件中导入RxJS
和一些操作符,但我的导入没有被传输到boot.js
输出中。所以
// boot.ts
import {Observable} from 'rxjs/Observable'
import 'rxjs/add/operator/debounceTime'
...
正如这里所概述的:最终成为
// boot.js
System.register(['rxjs/add/operator/debounceTime', ...
tsc
(在1.7.5和1.8.0中试用):
我错过了什么
更新
如果TypeScript稍后在代码中使用,它将仅发出导入。我只需要额外的操作符来监听一个值的变化
可以观察到的角度2控件
。但是,如果缺少rxjs
的Observable
类,则无法修补附加运算符。因此,您需要强制TypeScript向系统发出。通过如下方式导入,为可观察的注册:
// boot.ts
import 'rxjs/Observable'
import 'rxjs/add/operator/debounceTime'
...
所有的功劳都归于@RyanCavanaugh,他为我指明了正确的方向 您需要以正确的方式导入可观察类:
import { Observable } from 'rxjs/Observable';
如果要同时包含所有运算符,请执行以下操作:
import { Observable } from 'rxjs/Rx';
评论中的答案成功地解决了问题:
导入'rxjs/Observable'
参考资料:请参阅感谢您的快速回复导入'rxjs/Observable'
完成了这项工作。我尝试了,但没有任何区别。正如wiki中所述,问题在于我没有在代码的后面使用Observable
,因为我只是将操作符应用于角度控件的valueChanges
Observable。无论如何,谢谢你的回答。
import { Observable } from 'rxjs/Rx';