我目前正在使用ADFS身份验证开发Web应用程序。
我遇到以下运行时错误:
“找不到模块@ auth0 / angular-jwt”。
我正在使用 Angular 5.2.10 。我试图重新安装我的依赖项,但是仍然有错误:
我在index.d.ts
中出错:
找不到名称“提供者”和“ ModuleWithProviders”
在jwt.interceptor.d.ts
中:
找不到模块“ @ angular / common / http”和“ rxjs / internal / Observable”
在jwtoptions.token.d.ts
中:
找不到模块“ @ angular / core”
我没有修改任何这些文件。
这是一个有角度的版本问题吗?我使用的库版本错误吗?
感谢您的帮助!
答案 0 :(得分:1)
node_modules
文件夹npm i
尝试再次运行
答案 1 :(得分:0)
以下格式的错误消息:
找不到模块
<module>
表示未满足项目的 必需依赖项 ,如果先前的安装在下载必需的库时遇到问题,则需要安装或重新安装。
>也许您可以尝试以下方法,看看是否有帮助:
删除您的package-lock.json
文件,以确保不存在依赖项的锁定问题。 注意:此文件将自动生成
rm package-lock.json
删除先前的node_modules
目录
rm -rf node_modules
重新安装package.json
文件中列出的依赖项
npm i
或yarn install
如果仍然收到有关缺少模块的投诉,请尝试安装并保存必要的依赖项到您的package.json
文件中
例如,
找不到模块@ auth0 / angular-jwt”。
npm i @auth0/angular-jwt
@auth0/angular-jwt
v2 将与 Angular v6 +和RxJS v6 + 一起使用。对于Angular v4.3到 v5 +,请使用@auth0/angular-jwt
v1 。我们看到您提到您正在使用Angular 5.2.10.
,因此请确保您使用的是@auth0/angular-jwt
库的版本1 。 希望有帮助!
答案 2 :(得分:0)
确保已在正确的node_modules上安装@ auth0 / angular-jwt。那解决了我的问题。这是一个典型的依赖错误。
答案 3 :(得分:0)
第一个查询的答案,即找不到模块@ auth0 / angular-jwt“
确保在 node_modules 文件夹中指定了路径:- @ auth0 / angular-jwt / src /
import { JwtHelperService } from '@auth0/angular-jwt/src/jwthelper.service';
npm install @auth0/angular-jwt
# installation with yarn
yarn add @auth0/angular-jwt
答案 4 :(得分:0)
也许很晚,但是对于遇到相同问题的任何人,请确保将JwtModule
导入了app.module或功能模块,然后在身份验证服务中可以使用:
import { JwtHelperService } from '@auth0/angular-jwt';
代码示例:
import { Injectable } from '@angular/core';
import { JwtHelperService } from '@auth0/angular-jwt';
@Injectable({
providedIn: 'root',
})
export class AuthService {
constructor(public jwtHelper: JwtHelperService) {}
public isAuthenticated(): boolean {
const token = localStorage.getItem('token');
// Check whether the token is expired and return
// true or false
return !this.jwtHelper.isTokenExpired(token);
}
}
答案 5 :(得分:0)
确保您已安装“@auth0/angular-jwt/”所需的所有依赖项 ,
基本上下面的解决方案适用于所有错误提示“无法找到模块”
如果仍然显示相同的错误则