Angular 令牌未过期模块不工作,6
错误: node_modules/angular2 jwt/angular2 jwt.d.ts(3,10)中的错误:错误TS2305:模块“C:/Users/Charles Edwin Ison/OOP/node_modules/rxjs/Observable”没有导出的成员“Observable”。 节点_modules/rxjs/Observable.d.ts(1,15):错误TS2307:找不到模块“rxjs compat/Observable”Angular 令牌未过期模块不工作,6,angular,typescript,jwt,Angular,Typescript,Jwt,错误: node_modules/angular2 jwt/angular2 jwt.d.ts(3,10)中的错误:错误TS2305:模块“C:/Users/Charles Edwin Ison/OOP/node_modules/rxjs/Observable”没有导出的成员“Observable”。 节点_modules/rxjs/Observable.d.ts(1,15):错误TS2307:找不到模块“rxjs compat/Observable” 如何解决这个问题?我使用@auth0/an
如何解决这个问题?我使用@auth0/angular jwt和angular 6解决了这个问题。首先需要完全卸载angular2 jwt:
import { tokenNotExpired } from 'angular2-jwt';
然后您可以运行:
npm uninstall angular2-jwt --save
只有这两条命令行对我有帮助 如果您使用的是Angular 4.3或更高版本,您没有旧版本的angular2 jwt的支持。如果使用较旧版本,则会出现更多错误,因为它依赖Angular的HttpClient的Http侦听器。您可以下载新版本@auth0/Angular jwt,并实现tokenNotExpired的方法
npm install @auth0/angular-jwt
简单地说,您可以用这种方式实现
# installation with npm
npm install @auth0/angular-jwt
在auth.service.ts中:
npm uninstall angular2-jwt
npm install @auth0/angular-jwt
npm install rxjs-compat --save
}
在header.component.html中:
import { JwtHelperService } from "@auth0/angular-jwt";
token: string
isAuthenticated() {
return this.jwtHelper.isTokenExpired(this.token);
仪表板
登录
请查看“感谢分享您的解决方案”的链接。但是,tokenNotExpired在此库中不可用。如何导入此函数?
import { JwtHelperService } from "@auth0/angular-jwt";
token: string
isAuthenticated() {
return this.jwtHelper.isTokenExpired(this.token);
<a class="nav-link" [routerLink]="['/dashboard']" routerLinkActive="active-link"
*ngIf="!authService.isAuthenticated()"
[routerLinkActiveOptions]="{exact: true}">Dashboard</a>
<a class="btn btn-outline-primary me-2" *ngIf="authService.isAuthenticated()"
[routerLink]="['/auth']" tabindex="-1" aria-disabled="true">Sign in</a>