node 项目 启动报错 A client must be di

2021-06-07  本文已影响0人  zlzbt

一开始小编用google 百度 怎么都查不到原因,即便能搜到类似的问题也感觉没有明确的解决方案,所以我来了O(∩_∩)O

一眼就看懂的 A client must be directly provided to the RedisStore 错误解决方案

首先每次启动就会报

image

一开始不知道原因就去百度,百度不行就去google,终于让我开窍了

原来是版本的问题

/*  这是错误版本
const sessionMiddleware = session({
    secret: 'new-tour',
    resave: false,
    saveUninitialized: true,
    store: new RedisStore({client: redisClient  })
}); */

//以下是正确版本
const sessionMiddleware = session({

    secret: 'new-tour',

    resave: false,

    saveUninitialized: true,

    store: new RedisStore({client: redis.createClient(config.port, config.host)})

});

/* 看出来区别了吗
  new RedisStore({client: redisClient  })
  new RedisStore({client: redis.createClient(config.port, config.host)})
*/

1 是因为我没有引入redis,2 是因为没有用 redis.createClient

**以下代码即为正确解决方案 **

**如果没有引入****redis **

npm i redis
image.gif
const cluster = require('cluster');
const redis = require('redis');
const express = require('express');
const session = require('express-session');
const config = require('./config');
const app = express();
let RedisStore = require('connect-redis')(session)
const ejs=require('ejs');

const sessionMiddleware = session({
    secret: 'new-tour',
    resave: false,
    saveUninitialized: true,
    store: new RedisStore({client: redis.createClient(config.port, config.host)})
});
上一篇下一篇

猜你喜欢

热点阅读