this.client.get is not a function

来源:10-11 登录中间件

助跑雨露

2019-09-10

http://img.mukewang.com/szimg/5d77979e0979e66f11070299.jpg

connect-redis使用有问题,

写回答

8回答

顾鸟

2021-09-23

我也遇到过相同的问题,问题出现的原因是commonjs语法,可以检查一下redis.js导出和app.js引入是否正确

0
0

慕的地3235831

2019-10-08

我也出现了相同的问题。
不知道这个问题 有没有解决?

0
0

助跑雨露

提问者

2019-09-12

//img1.sycdn.imooc.com/szimg/5d79346909528aa213660727.jpg

//img.mukewang.com/szimg/5d793471095fbc1e13660727.jpg

//img.mukewang.com/szimg/5d79347f098275df13660727.jpg

参考文章https://www.cnblogs.com/kevinlvhsl/p/5223840.html

如下图添加就不会报错

//img1.sycdn.imooc.com/szimg/5d7934800930130f13660727.jpg


0
0

助跑雨露

提问者

2019-09-11

保错提示是this.client.set is not a function

//img.mukewang.com/szimg/5d78a3ea0975bb2213660727.jpg

//img.mukewang.com/szimg/5d78a1d40961b1fc13660727.jpg

//img.mukewang.com/szimg/5d78a258092570c206930565.jpg

是不是redis连接没有方法

文件已上传到github,麻烦帮忙看一下谢谢

https://github.com/seevue/express

0
1
双越
提示方法我之前回复了 —— 在 routes/blog.js 第 19 行下插入一行 console.log('listData is ', listData); 看能否在报错之前打印出 listData 的内容?—— 现在可能得在 33 行后面加了。
2019-09-11
共1条回复

助跑雨露

提问者

2019-09-11

访问地址  http://localhost:8000/api/blog/list

//img.mukewang.com/szimg/5d7865a1091e355513660727.jpg

这已经是全部报错信息,blog-express\routes\blog.js复制慕课上的源码也是报这个错误,

express重构课程已看完,按视频步骤做9-9、9-10出现这个问题,其他地方没有问题,



0
2
助跑雨露
回复
双越
就是用源码替换过blog-express\routes\blog.js
2019-09-11
共2条回复

助跑雨露

提问者

2019-09-11

routes/blog.js文件内容

//img.mukewang.com/szimg/5d77ccf009e4edf713660727.jpg

//img.mukewang.com/szimg/5d77ccef094614bc07450364.jpg

//img.mukewang.com/szimg/5d77ccef0934d08605930322.jpg

//img.mukewang.com/szimg/5d77cd530937ab2105660382.jpg


0
1
双越
在 routes/blog.js 第 19 行下插入一行 console.log('listData is ', listData); 看能否在报错之前打印出 listData 的内容? (光通过截图信息一下子看不出问题的原因,只能这样一点一点的调试。)
2019-09-11
共1条回复

助跑雨露

提问者

2019-09-10

访问路径http://localhost:8000/api/blog/list

//img1.sycdn.imooc.com/szimg/5d77a3380903551913660727.jpg

要安装的都按

//img1.sycdn.imooc.com/szimg/5d77a3ac098a9afe13660727.jpg

app.js文件内容

var createError = require('http-errors');

var express = require('express');

var path = require('path');

var cookieParser = require('cookie-parser');

var logger = require('morgan');

const session=require('express-session')

const RedisStore = require('connect-redis')(session)


// var indexRouter = require('./routes/index');

// var usersRouter = require('./routes/users');

const blogRouter=require('./routes/blog');

const userRouter=require('./routes/user');


var app = express();


// view engine setup

app.set('views', path.join(__dirname, 'views'));

app.set('view engine', 'jade');


app.use(logger('dev'));

app.use(express.json());

app.use(express.urlencoded({ extended: false }));

app.use(cookieParser());

app.use(express.static(path.join(__dirname, 'public')));


const redisClient = require('./db/redis')

const sessionStore = new RedisStore({

  client: redisClient

})

app.use(session({

  secret: 'WJiol#23123_',  

  cookie: {

    // path: '/',   // 默认配置

    // httpOnly: true,  // 默认配置

    maxAge: 24 * 60 * 60

  },

  store: sessionStore,

}))


// app.use('/', indexRouter);

// app.use('/users', usersRouter);


app.use('/api/blog',blogRouter);

app.use('/api/user',userRouter);

// catch 404 and forward to error handler

app.use(function(req, res, next) {

  next(createError(404));

});


// error handler

app.use(function(err, req, res, next) {

  // set locals, only providing error in development

  res.locals.message = err.message;

  res.locals.error = req.app.get('env') === 'dev' ? err : {};


  // render the error page

  res.status(err.status || 500);

  res.render('error');

});


module.exports = app;


0
1
双越
报错信息提示在 routes/blog.js 第 20 行报错,这么重要的信息不能忽略。你把 routes/blog.js 第 20 行的代码,及其相关代码截图出来,我看下。
2019-09-10
共1条回复

双越

2019-09-10

把错误信息截全,下面应该还有一些信息。

0
3
Jarvis丶丶丶
回复
双越
新问题我已经发出来了,已经解决了,是我自己语法上的问题
2019-10-26
共3条回复

Node.js+Express+Koa2+Nest.js 开发服务端

从入门到实战,一站式掌握 Node.js+Express+Koa2

4051 学习 · 2006 问题

查看课程