向其添加 Redis 后,在任何连接请求后关闭 Express 应用程序

Express app closing after any connection request after adding Redis to it

所以,我刚刚将 Redis 添加到我的 expressjs 应用程序(这是我第一次使用 redis),这就是我添加 Redis 所做的全部工作:

import express, { Application } from 'express';
import session from 'express-session';
import {createClient} from 'redis';
import connectRedis from 'connect-redis'

const app: Application = express();
const RedisStore = connectRedis(session);
const redisClient = createClient({
    url: 'redis://localhost:6379'
});

app.use(session({
    secret: SESSION_SECRET,
    resave: false,
    saveUninitialized: true,
    store: new RedisStore({ client: redisClient }), // added this line
    cookie: {
        maxAge: 1000 * 60 * 2,
        httpOnly: false,
        secure: false,
    }
}));

export default app;

但是,当我向我的任何快速路线发出任何请求时,我会在控制台上立即收到错误消息,并且该应用程序会因任何进一步的请求而关闭。这是错误:

如您所见,屏幕截图顶部有一行 Server is listening on port 3000,其余字符串仅在我向 api 发出第一个请求时出现。

我在这里错过了什么,我做错了什么?因为互联网上的每个 video/article 都有完全相同的代码...

好吧,正如@Apoorva Chikara 注意到的和@Leibale Eidelman 提到的,connect-redis 还不支持最新的 node-redis,所以为了修复它,我刚刚降级了我的 redis 包使用 $ yarn add redis@3.1.2.

到版本 3.1.2

谢谢!