找不到模块“ @ auth0 / angular-jwt /”

时间:2019-06-12 13:23:54

标签: angular typescript node-modules auth0

我目前正在使用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”

我没有修改任何这些文件。

这是一个有角度的版本问题吗?我使用的库版本错误吗?

感谢您的帮助!

6 个答案:

答案 0 :(得分:1)

  1. 删除您的node_modules文件夹
  2. 运行npm i

尝试再次运行

答案 1 :(得分:0)

以下格式的错误消息:

  

找不到模块<module>

表示未满足项目的 必需依赖项 ,如果先前的安装在下载必需的库时遇到问题,则需要安装或重新安装。

>

也许您可以尝试以下方法,看看是否有帮助:

  1. 删除您的package-lock.json文件,以确保不存在依赖项的锁定问题。 注意:此文件将自动生成

    rm package-lock.json

  2. 删除先前的node_modules目录

    rm -rf node_modules

  3. 重新安装package.json文件中列出的依赖项

    npm iyarn install

  4. 如果仍然收到有关缺少模块的投诉,请尝试安装并保存必要的依赖项到您的package.json文件中

例如,

  

找不到模块@ auth0 / angular-jwt”。

npm i @auth0/angular-jwt
  1. 仔细检查版本依赖关系。例如,@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或yarn运行安装

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/”所需的所有依赖项 ,

基本上下面的解决方案适用于所有错误提示“无法找到模块

  1. 首先安装所需的依赖项(在这里你应该安装 npm i @auth0/angular-jwt
  2. 重启项目

如果仍然显示相同的错误则

  1. 删除您的 node_modules 文件夹
  2. 运行 npm i