【问题标题】:TypeScript: Type 'RedisClientType<...' is not assignable to type 'RedisClient | Redis | Cluster | undefined'TypeScript:类型 \'RedisClientType<...\' 不可分配给类型 \'RedisClient |雷迪斯 |集群 |不明确的\'
【发布时间】:2023-01-29 20:54:00
【问题描述】:

我正在尝试使用 connect-redis 和 express-session 进行会话管理,但在传入我的 Redis 客户端时出现错误。

这是代码:

const app = express();

const RedisStore = connectRedis(session);
let redisClient = redis.createClient({ legacyMode: true });
redisClient.connect().catch(console.error);

app.use(
  session({
    store: new RedisStore({
      client: redisClient,
      disableTouch: true,
    }),
    cookie: {
    maxAge: 10000000000,
      httpOnly: true,
      secure: false
    },
    saveUninitialized: false,
    secret: 'keyboard cat',
    resave: false,
  })
)

我正在按照here 发布的指南进行操作。谢谢!

【问题讨论】:

  • 你有想过吗?
  • 我有 @types/connect-redis^0.0.19 作为开发依赖。我删除了它并添加了@types/connect-redis@0.0.14,这解决了我的问题。 connect-redis 是版本 5.0.0

标签: typescript redis connect-redis


【解决方案1】:

您可能从 @types/redis 包中导入了类型。查看其 Yarn 页面,我们看到 @types/redis 现在已弃用,并附有以下说明:

redis 提供了自己的类型定义,所以你不需要安装@types/redis!

该软件包的最新版本是4.0.11,于 2021 年 12 月 9 日发布。我猜测错误是由于该软件包与更新版本的软件包redis 之间的差异引起的。

要删除包@types/redis,您可以运行$ yarn remove @types/redis

我有一个类似的错误,这阻止了 VS Code 的抱怨。 :)

【讨论】:

    猜你喜欢
    • 2020-08-04
    • 2018-09-19
    • 2020-08-16
    • 2022-12-24
    • 2022-08-23
    • 1970-01-01
    • 2021-08-15
    • 2023-01-03
    • 2019-01-29
    相关资源
    最近更新 更多