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

时间:2020-06-29 15:22:27

标签: typescript jwt nestjs nestjs-passport nestjs-jwt

我正在使用@ 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 {}

知道可能是什么问题吗?

4 个答案:

答案 0 :(得分:3)

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

rm -r dist
npm run start:dev

答案 1 :(得分:2)

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

答案 2 :(得分:0)

由于节点版本而发生此错误。如果知道了这一点,请使用npm i --save @nestjs/passport passport

更新节点版本并重新安装通行证模块。

答案 3 :(得分:0)

这里是同一问题。

npm i @types/passport

解决了