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)})
});