ITADN

connectRedis is not a function [NESTJS][NODE20]

#413ClosedSebaBoler 创建于 2024-07-11
S
SebaBolercommented
For more than 30 minutes, I have not had any sensible solution that simply does not work in the latest version. Session.module.ts ``` import { Module, NestModule, MiddlewareConsumer } from '@nestjs/common'; import { ConfigModule, ConfigService } from '@nestjs/config'; import * as session from 'express-session'; import * as connectRedis from 'connect-redis'; import { createClient } from 'redis'; import { RedisModule } from 'src/redis/redis.module'; @Module({ imports: [ConfigModule, RedisModule], }) export class SessionModule implements NestModule { constructor(private readonly configService: ConfigService) {} async configure(consumer: MiddlewareConsumer) { const redisConfig = this.configService.get('redis'); const redisClient = createClient({ url: `redis://${redisConfig.host}:${redisConfig.port}`, password: redisConfig.password, }); redisClient.on('error', (err) => console.error('Redis Client Error', err)); await redisClient.connect(); const RedisStore = connectRedis(session); const redisStore = new RedisStore({ client: redisClient as any, prefix: 'session:', }); consumer .apply( session({ store: redisStore, secret: this.configService.get<string>('SESSION_SECRET'), resave: false, saveUninitialized: false, cookie: { secure: this.configService.get<string>('NODE_ENV') === 'production', maxAge: 60000, // 1 minute }, }), ) .forRoutes('*'); } } ``` issue when NestJs starts ``` [Nest] 87566 - 11.07.2024, 21:19:39 LOG [InstanceLoader] ConfigModule dependencies initialized +0ms [Nest] 87566 - 11.07.2024, 21:19:39 LOG [InstanceLoader] SessionModule dependencies initialized +7ms [Nest] 87566 - 11.07.2024, 21:19:39 LOG [InstanceLoader] DatabaseModule dependencies initialized +1ms [Nest] 87566 - 11.07.2024, 21:19:39 LOG [InstanceLoader] UserModule dependencies initialized +0ms [Nest] 87566 - 11.07.2024, 21:19:39 LOG [InstanceLoader] RedisModule dependencies initialized +2ms /src/session/session.module.ts:24 const RedisStore = connectRedis(session); ^ TypeError: connectRedis is not a function ``` Node.js 20 Nestjs 10 Connect-redis 7.1.1 redis 4.6.15
关闭于 2024-07-11 2 条评论