请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

正在回答 回答被采纳积分+3

8回答

顾鸟 2021-09-23 16:15:15

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

0 回复 有任何疑惑可以回复我~
慕的地3235831 2019-10-08 00:55:48

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

0 回复 有任何疑惑可以回复我~
提问者 助跑雨露 2019-09-12 01:55:11

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

https://img1.sycdn.imooc.com//szimg/5d793471095fbc1e13660727.jpg

https://img1.sycdn.imooc.com//szimg/5d79347f098275df13660727.jpg

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

如下图添加就不会报错

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


0 回复 有任何疑惑可以回复我~
提问者 助跑雨露 2019-09-11 15:41:46

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

https://img1.sycdn.imooc.com//szimg/5d78a3ea0975bb2213660727.jpg

https://img1.sycdn.imooc.com//szimg/5d78a1d40961b1fc13660727.jpg

https://img1.sycdn.imooc.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 19:26:24
提问者 助跑雨露 2019-09-11 11:22:08

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

https://img1.sycdn.imooc.com//szimg/5d7865a1091e355513660727.jpg

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

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



0 回复 有任何疑惑可以回复我~
  • 双越 #1
    一样的代码,不一样的环境,就有可能导致不一样的结果。所以要 debug 这个错误,还是得在你的环境下分析。
    
    另外,这次又提示 34 行报错了,你是改了代码了吗?
    回复 有任何疑惑可以回复我~ 2019-09-11 13:37:29
  • 提问者 助跑雨露 回复 双越 #2
    就是用源码替换过blog-express\routes\blog.js
    回复 有任何疑惑可以回复我~ 2019-09-11 15:07:55
提问者 助跑雨露 2019-09-11 00:21:17

routes/blog.js文件内容

https://img1.sycdn.imooc.com//szimg/5d77ccf009e4edf713660727.jpg

https://img1.sycdn.imooc.com//szimg/5d77ccef094614bc07450364.jpg

https://img1.sycdn.imooc.com//szimg/5d77ccef0934d08605930322.jpg

https://img1.sycdn.imooc.com//szimg/5d77cd530937ab2105660382.jpg


0 回复 有任何疑惑可以回复我~
  • 双越 #1
    在 routes/blog.js 第 19 行下插入一行 console.log('listData is ', listData);  看能否在报错之前打印出 listData 的内容?
    (光通过截图信息一下子看不出问题的原因,只能这样一点一点的调试。)
    回复 有任何疑惑可以回复我~ 2019-09-11 09:20:48
提问者 助跑雨露 2019-09-10 21:24:37

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

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

要安装的都按

https://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 23:05:50
双越 2019-09-10 21:04:54

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

0 回复 有任何疑惑可以回复我~
  • 我和这位同学错误差不多,但只是报出了500错误
    回复 有任何疑惑可以回复我~ 2019-10-25 15:10:39
  • 可以新提一个问题,详细描述一下你的报错内容。
    回复 有任何疑惑可以回复我~ 2019-10-25 21:21:44
  • 新问题我已经发出来了,已经解决了,是我自己语法上的问题
    回复 有任何疑惑可以回复我~ 2019-10-26 07:56:46
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信