entonces lo que quiero hacer es crear una sesión y almacenarla en redis. Seguí la API de este repositorio de github https://github.com/tj/connect-redis .
Pero recibo este error en la palabra cliente: el tipo esperado proviene de la propiedad 'cliente' que se declara aquí en el tipo 'RedisStoreOptions'.
Este es el código que usé:
import redis from 'redis'; import session from 'express-session'; import connectRedis from 'connect-redis'; const app = express(); const RedisStore = connectRedis(session); const redisClient = redis.createClient({ legacyMode: true }); redisClient.connect().catch(console.error); app.use( session({ store: new RedisStore({ client: redisClient }), saveUninitialized: false, secret: "keyboard cat", resave: false, }) )El error ocurre aquí:
store: new RedisStore({ client: redisClient })Más concretamente en la palabra cliente.
en vez de
import redis from 'redis';usar
import * as redis from 'redis';Supongo que estás usando TypeScript, tuve este problema, ¿instalaste:
@types/redis @types/connect-redis @types/express-sessionHice eso y seguí recibiendo un error con el cliente, así que desinstalé los 3 @types y noté que redis no requiere que declares módulos, así que solo instalé tipos para express-session y connect-redis
npm i @types/connect-redis @types/express-session --save-dev
hilo añadir @types/connect-redis @types/express-session -D