connectRedis is not a function [NESTJS][NODE20]
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 条评论