在AuthService中使用以下代码:
@Injectable()
AuthService {
constructor(
@InjectRepository(UserRepository)
private jwtService: JwtService
private userRepository: UserRepository
) {
}
async login(loginCredentialsDto: LoginCredentialsDto): Promise<{ accessToken: string }> {
const email = await this.userRepository.validatePassword(loginCredentialsDto);
const payload: JwtPayLoad = {email};
return {
accessToken: this.jwtService.sign(payload),
};
}
}
在运行时对其进行编译后,会出现以下错误:
[嵌套] 12998-2020年7月3日,晚上9:22:20 [ExceptionsHandler] this.jwtService.sign不是+ 213303ms函数
以下是AuthModule:
@Module({
imports: [
PassportModule.register({ defaultStrategy: 'jwt' }),
JwtModule.register({
secret: 'topSecret51',
signOptions: {
expiresIn: 3600,
}
}),
TypeOrmModule.forFeature([UserRepository])],
controllers: [AuthController],
providers: [AuthService, JwtStrategy],
exports: [
JwtStrategy,
PassportModule,
], })
export class AuthModule { }
有什么想法可以解决吗?
我已经重新安装了npm,删除了节点模块,并试图修改代码。但这仍然行不通。
答案 0 :(得分:0)
在Authservice构造函数中出现的问题应该是:
constructor(
@InjectRepository(UserRepository)
private userRepository: UserRepository,
private jwtService: JwtService) {
}