【问题标题】:Cannot find module "@auth0/angular-jwt/"找不到模块“@auth0/angular-jwt/”
【发布时间】:2019-10-27 00:50:16
【问题描述】:

我目前正在开发一个使用 ADFS 身份验证的 Web 应用程序。

我有以下运行时错误:

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

我正在使用 Angular 5.2.10。我尝试重新安装我的依赖项,但仍然有错误:

我在index.d.ts 中有错误:

找不到名称“Provider”和“ModuleWithProviders”

jwt.interceptor.d.ts

找不到模块“@angular/common/http”和“rxjs/internal/Observable”

jwtoptions.token.d.ts

找不到模块“@angular/core”

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

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

感谢您的帮助!

【问题讨论】:

    标签: angular typescript node-modules auth0


    【解决方案1】:

    当节点模块中没有 auth 文件夹时会发生此错误。请检查它是否存在。 运行 npm install 并重启项目

    【讨论】:

    【解决方案2】:

    确保您已安装“@auth0/angular-jwt/”所需的所有依赖项 ,

    基本上,波纹管解决方案适用于所有错误“找不到模块

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

    如果仍然显示相同的错误,那么

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

    【讨论】:

      【解决方案3】:

      也许晚了,但对于遇到相同问题的任何人,请确保您在 app.module 或功能模块中导入了JwtModule,然后在您的身份验证服务中您可以使用:

      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);
        }
      }
      

      【讨论】:

        【解决方案4】:

        回答您的第一个查询,即 找不到模块 @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
        
        

        【讨论】:

          【解决方案5】:

          确保您已在正确的 node_modules 上安装了 @auth0/angular-jwt。这解决了我的问题。这是一个典型的依赖错误。

          【讨论】:

            【解决方案6】:

            以下格式的错误信息:

            找不到模块<module>

            表示未满足您项目的必要依赖项,如果之前的安装在下载必要的库时出现问题,则需要安装或重新安装。 p>

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

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

              rm package-lock.json

            2. 删除您之前的@​​987654324@ 目录

              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

            希望对您有所帮助!

            【讨论】:

              【解决方案7】:
              1. 删除您的node_modules 文件夹
              2. 运行npm i

              再试一次

              【讨论】:

              • 我在使用 Vue 3 应用时遇到了同样的问题。这也帮助了我。如果不是很明显,它也适用于其他 JS 框架,而不仅仅是 Angular。
              猜你喜欢
              • 1970-01-01
              • 2017-12-08
              • 1970-01-01
              • 1970-01-01
              • 2018-07-04
              • 2018-12-08
              • 2017-04-29
              • 2017-07-23
              • 1970-01-01
              相关资源
              最近更新 更多