angular升@^6版本依赖rxjs@^6中rxjs@^6版本中操作符和静态方法报错并改正
最近公司要把angular项目升级到最新版本,简单升级后系统是运行不起来的,其中就有rxjs的引入报错和rxjs一些操作符和静态方法的报错,花了一些时间排查rxjs的错误,下面就列举rxjx@^5.0.0版本
Observable
静态方法和操作符引用错误及解决方法和小伙伴分享一下,帮助小伙伴节省排查时间,方便小伙伴举一反三,有不正确的地方欢迎小伙伴雅正。rxjx@^5.0.0版本Observable
、静态方法、操作符的引用方法在@^6中报的错误
import {Observable} from "rxjs/Observable"; import "rxjs/add/Observable/fromEvent"; import "rxjs/add/operator/map";
ERROR in node_modules/rxjs/Observable.d.ts(1,15): error TS2307: Cannot find module 'rxjs-compat/Observable'. src/app/common/services/http/api.ts(7,9): error TS2305: Module '"F:/exercises/myNG/node_modules/rxjs/Observable"' has no exported member 'Observable'. ERROR in ./node_modules/rxjs/add/Observable/fromEvent.js Module not found: Error: Can't resolve 'rxjs-compat/add/observable/fromEvent' in 'F:\exercises\myNG\node_modules\rxjs\add\Observable' ERROR in ./node_modules/rxjs/add/Observable/fromEvent.js Module not found: Error: Can't resolve 'rxjs-compat/add/observable/fromEvent' in 'F:\exercises\myNG\node_modules\rxjs\add\Observable'
rxjx@^6.0.0中的正确引用方法
import {Observable} from "rxjs/index"
和 import {Observable} from "rxjs"
这两种引用都是正确的,但是在webStorm中的第二种方法会有错误信息的提示,但是可以正常编译,因为编译的时候对象会自动检索rxjs文件夹下的index.d.ts文件,但是webStorm在显示的时候不会去检索,rxjs只是一个文件夹。import {Observable} from "rxjs/index"; //Observable import {fromEvent} from "rxjs/index"; //静态方法 import { map } from "rxjs/operators"; //操作符
注意:正确的引用还没有完,静态方法和操作符使用方法还有变化,下面是rxjs@^5版本的实用方法及报错信息
Observable.fromEvent(someDocumen, "someEvent").startWith(0).map()
ERROR in src/.... Property 'fromEvent' does not exist on type 'typeof Observable'. ERROR in src/....: error TS2339: Property 'startWith' does not exist on type 'Observable<Event>'. ERROR in src/....: error TS2339: Property 'map' does not exist on type 'Observable<Event>'.
rxjs@^6版本的正确使用方法
静态方法直接调用就可以了,比以前版本方便不少,但是这个操作符要吐槽一下,完全没有以前的链式写法用着方便,看着舒服,理解着容易,差评!差评!!fromEvent(someDocumen, "someEvent").pipe( startWith(0), map() )
相关推荐
ZadarrienChina 2020-01-07
dynsxyc 2020-01-03
wcsandlili 2019-10-22
zhoulu00 2020-06-28
ZadarrienChina 2020-04-26
chimywang 2020-03-03
zhoulu00 2019-11-04
zhoulu00 2019-09-08
dynsxyc 2019-09-06
chenqiangblogs 2019-06-15
ZadarrienChina 2019-06-02
ZadarrienChina 2018-09-21
chenqiangblogs 2019-07-01
zhoulu00 2019-07-01
dynsxyc 2019-07-01
ZadarrienChina 2019-07-01
wcsandlili 2019-06-30
breezegao 2019-06-30