【问题标题】:Angular2-JWT package no longer working in Angular 6 (RXJS import issues)Angular2-JWT 包不再在 Angular 6 中工作(RXJS 导入问题)
【发布时间】:2019-01-27 19:32:33
【问题描述】:

所以我有一个名为 Angular2-jwt 的包,我用它来定义用户是否登录。今天我将现有应用程序转移到另一个在 Angular 6 上运行的应用程序。该包现在抛出以下错误:

Module not found: Error: Can't resolve 'rxjs/Observable' in 'C:\Users\TijlD\Desktop\projects\Harry-Potter-WU\node_modules\angular2-jwt'
ERROR in ./node_modules/angular2-jwt/angular2-jwt.js
Module not found: Error: Can't resolve 'rxjs/add/observable/defer' in
'C:\Users\TijlD\Desktop\projects\Harry-Potter-WU\node_modules\angular2-jwt'
ERROR in ./node_modules/angular2-jwt/angular2-jwt.js
Module not found: Error: Can't resolve 'rxjs/add/observable/fromPromise' in 'C:\Users\TijlD\Desktop\projects\Harry-Potter-WU\node_modules\angular2-jwt'
ERROR in ./node_modules/angular2-jwt/angular2-jwt.js
Module not found: Error: Can't resolve 'rxjs/add/operator/mergeMap' in 'C:\Users\TijlD\Desktop\projects\Harry-Potter-WU\node_modules\angular2-jwt'

由于 Angular 6,我遇到了其他 rxjs 问题,但是对于这些问题,我找不到有关如何解决它们的信息。任何人的想法?下面的包代码(我突出了麻烦的地方):

【问题讨论】:

标签: angular rxjs jwt angular6


【解决方案1】:

Rxjs 6 改变了它的内部结构,所以你改变了你的导入

对于导入语句,以下是更新代码的方法:

Observable、Subject 等

import { Observable } from 'rxjs/Observable';
import { Subject } from 'rxjs/Subject';

变成

import { Observable, Subject } from 'rxjs';

更多:https://www.academind.com/learn/javascript/rxjs-6-what-changed/

【讨论】:

  • 所以在我的特殊情况下,更改应该是“require('rxjs')”和“require('rxjs/operators')”?
【解决方案2】:

请导入兼容的向后版本: https://github.com/ReactiveX/rxjs/tree/master/compat

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-21
    • 2019-02-21
    • 2018-09-23
    • 1970-01-01
    • 1970-01-01
    • 2018-12-05
    • 1970-01-01
    • 2018-10-18
    相关资源
    最近更新 更多