store: sessionStore加上这个配置,接口报500,去掉后前后端nginx代理可正常访问8080端口

来源:10-11 登录中间件

亓亓9389838

2021-11-29

var createError = require("http-errors"); // 处理路由匹配不到404的情况
var express = require("express");
var path = require("path"); // 路径
var cookieParser = require("cookie-parser"); // 解析cookie
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()); // 处理postData,use这个方法后,在其他地方即可取到req.body,这个兼容的content-type: applicatuon/json
app.use(express.urlencoded({ extended: false })); // 这个也是兼容postdata的,这个兼容的content-type: x-www-form-urlencoded
app.use(cookieParser()); // 解析cookie
// app.use(express.static(path.join(__dirname, 'public'))); // 静态文件,前端的

// 解析完cookie我们就去解析session,session解析完,会向req里塞入req.session
const  { redisClient }  = require("./db/redis");
const sessionStore = new RedisStore({
  client: redisClient,
})
app.use(session({
  store: sessionStore,
  secret: 'LJLLj#23123_',
  cookie: {
    path: '/',   // 默认配置
    httpOnly: true,  // 默认配置
    maxAge: 24 * 60 * 60 * 1000
  },
}))

// 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;

http://img.mukewang.com/szimg/61a4b703093d3f0412620652.jpg


双越老师帮忙看下,第 19 行下插入一行 console.log('listData is ', listData);  在报错之前可以打印出 listData 的内容,

写回答

1回答

双越

2021-11-30

这是 redis 相关的报错。你单独做一个 redis demo ,试一下 redis 连接是否正常?

0
2
双越
回复
亓亓9389838
那先用可用的版本继续执行吧,先把课程内容继续学完。
2021-11-30
共2条回复

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

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

4051 学习 · 2006 问题

查看课程