找不到模块“护照”或其相应的类型声明

Posted

技术标签:

【中文标题】找不到模块“护照”或其相应的类型声明【英文标题】:Cannot find module 'passport' or its corresponding type declarations 【发布时间】:2020-10-19 19:24:16 【问题描述】:

我正在使用@nestjs/passport。运行npm run start:dev后报错,但是编辑器没有报错

node_modules/@nestjs/passport/dist/passport/passport.serializer.d.ts:1:27 - error TS2307: Cannot find module 'passport' or its corresponding type declarations.

1 import * as passport from 'passport';

输入代码:

import  PassportModule  from '@nestjs/passport';
import  TypeOrmModule  from '@nestjs/typeorm';
import  Module  from '@nestjs/common';
import  AuthController  from './auth.controller';
import  AuthService  from './auth.service';
import  UserRepository  from './user.repository';
import  JwtModule  from '@nestjs/jwt';


@Module(
  imports:[
    PassportModule.register(defaultStrategy:'jwt'),
    JwtModule.register(
      secret: 'topSecret51',
      signOptions:
        expiresIn:3600,
      ,
    ),
    TypeOrmModule.forFeature([UserRepository]),
  ],
  controllers: [AuthController],
  providers: [AuthService],
)
export class AuthModule 

知道可能是什么问题吗?

【问题讨论】:

问题NestJS jwt-passport Authentication 看起来相关。 【参考方案1】:

遇到同样的问题,我通过运行$ npm i --save @nestjs/passport passport 解决了。

【讨论】:

【参考方案2】:

由于节点版本而发生此错误。如果你有这个,更新节点版本并使用npm i --save @nestjs/passport passport重新安装护照模块

【讨论】:

--save 是做什么的? npm install 不适用于此软件包是否有原因?【参考方案3】:

我遇到了同样的问题。但我进行了重建,一切正常。 删除了dist 文件夹,然后重新开始

rm -r dist
npm run start:dev

【讨论】:

这对我有用,确保你还安装了下一个依赖项:@nestjs/passportpassportpassport-jwt【参考方案4】:

同样的问题。

npm i @types/passport --save解决了它

【讨论】:

以上是关于找不到模块“护照”或其相应的类型声明的主要内容,如果未能解决你的问题,请参考以下文章

React,Typescript - 找不到模块...或其相应的类型声明

找不到模块“下一个”或其相应的类型声明

测试套件未能运行找不到模块或其相应的类型声明

找不到模块“graphql/tsutils/Maybe”或其相应的类型声明

VSCode:找不到模块“antd”或其相应的类型声明

Vue常见问题找不到模块“./App.vue”或其相应的类型声明。ts(2307)