【发布时间】:2019-01-06 21:40:06
【问题描述】:
我观看了一个 YouTube 教程 (https://youtu.be/hNinO6-bDVM?t=2m33s),将以下代码添加到 app.js 后,可以在开发者工具 Application 选项卡中看到 cookie:
var session = require('express-session');
app.use(session({
secret: 'keyboard cat',
name: 'testcookie',
resave: false,
saveUninitialized: true,
cookie: {
secure: false
}
}))
但是,我没有看到 cookie 的运气。我觉得我几乎尝试了所有方法,但这就是我得到的全部:
这是我完整的app.js 文件:
var createError = require('http-errors');
var express = require('express');
var cookieParser = require('cookie-parser')
var path = require('path');
var logger = require('morgan');
var session = require('express-session');
var indexRouter = require('./routes/index');
var usersRouter = require('./routes/login');
var createSession = require('./routes/session');
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')));
app.use('/', indexRouter);
app.use('/login', usersRouter);
app.use('/session', createSession);
// 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') === 'development' ? err : {};
// render the error page
res.status(err.status || 500);
res.render('error');
});
app.set('trust proxy', 1);
app.use(session({
secret: 'keyboard cat',
name: 'testcookie',
resave: false,
saveUninitialized: true,
cookie: {
secure: false
},
proxy: true
}))
module.exports = app;
您知道可能缺少什么吗?我是 Express 的新手,这对我来说是一场不可思议的斗争。提前谢谢你。
【问题讨论】:
标签: javascript node.js express cookies session-cookies