Node.js Express js会话未定义
server.jsNode.js Express js会话未定义,node.js,express,Node.js,Express,server.js var express=require('./config/express'); var app=express(); app.listen(3000); var express=require('express'), cookieParser = require('cookie-parser'), session=require('express-session'); var app=express(); var routes=r
var express=require('./config/express');
var app=express();
app.listen(3000);
var express=require('express'),
cookieParser = require('cookie-parser'),
session=require('express-session');
var app=express();
var routes=require('../app/routes/index.server.routes');
routes(app);
app.use(cookieParser());
app.use(session({
saveUninitialized: true,
resave: true,
secret: "This is a secret"
}));
module.exports=function(app){
var indexController=require('../controllers/index.server.controller');
app.get('/',indexController.render);
}
expressjs
var express=require('./config/express');
var app=express();
app.listen(3000);
var express=require('express'),
cookieParser = require('cookie-parser'),
session=require('express-session');
var app=express();
var routes=require('../app/routes/index.server.routes');
routes(app);
app.use(cookieParser());
app.use(session({
saveUninitialized: true,
resave: true,
secret: "This is a secret"
}));
module.exports=function(app){
var indexController=require('../controllers/index.server.controller');
app.get('/',indexController.render);
}
routes.js
var express=require('./config/express');
var app=express();
app.listen(3000);
var express=require('express'),
cookieParser = require('cookie-parser'),
session=require('express-session');
var app=express();
var routes=require('../app/routes/index.server.routes');
routes(app);
app.use(cookieParser());
app.use(session({
saveUninitialized: true,
resave: true,
secret: "This is a secret"
}));
module.exports=function(app){
var indexController=require('../controllers/index.server.controller');
app.get('/',indexController.render);
}
控制器
exports.render=function(request,response){
if(request.session.lastVisit){
console.log(request.session.lastVisit);
}
request.session.lastVisit=new Date();
response.render('index',{
model:'lokesh'
})
}
Cannot set property 'lastVisit' of undefined
at exports.render (C:\Users\phani\Desktop\Node\app\controllers\index.server.controller.js:9:30)
at Layer.handle [as handle_request] (C:\Users\phani\Desktop\Node\node_modules\express\lib\router\layer.js:76:5)
at next (C:\Users\phani\Desktop\Node\node_modules\express\lib\router\route.js:100:13)
at Route.dispatch (C:\Users\phani\Desktop\Node\node_modules\express\lib\router\route.js:81:3)
at Layer.handle [as handle_request] (C:\Users\phani\Desktop\Node\node_modules\express\lib\router\layer.js:76:5)
at C:\Users\phani\Desktop\Node\node_modules\express\lib\router\index.js:227:24
at Function.proto.process_params (C:\Users\phani\Desktop\Node\node_modules\express\lib\router\index.js:305:12)
at C:\Users\phani\Desktop\Node\node_modules\express\lib\router\index.js:221:12
at Function.match_layer (C:\Users\phani\Desktop\Node\node_modules\express\lib\router\index.js:288:3)
at next (C:\Users\phani\Desktop\Node\node_modules\express\lib\router\index.js:182:10)
错误
exports.render=function(request,response){
if(request.session.lastVisit){
console.log(request.session.lastVisit);
}
request.session.lastVisit=new Date();
response.render('index',{
model:'lokesh'
})
}
Cannot set property 'lastVisit' of undefined
at exports.render (C:\Users\phani\Desktop\Node\app\controllers\index.server.controller.js:9:30)
at Layer.handle [as handle_request] (C:\Users\phani\Desktop\Node\node_modules\express\lib\router\layer.js:76:5)
at next (C:\Users\phani\Desktop\Node\node_modules\express\lib\router\route.js:100:13)
at Route.dispatch (C:\Users\phani\Desktop\Node\node_modules\express\lib\router\route.js:81:3)
at Layer.handle [as handle_request] (C:\Users\phani\Desktop\Node\node_modules\express\lib\router\layer.js:76:5)
at C:\Users\phani\Desktop\Node\node_modules\express\lib\router\index.js:227:24
at Function.proto.process_params (C:\Users\phani\Desktop\Node\node_modules\express\lib\router\index.js:305:12)
at C:\Users\phani\Desktop\Node\node_modules\express\lib\router\index.js:221:12
at Function.match_layer (C:\Users\phani\Desktop\Node\node_modules\express\lib\router\index.js:288:3)
at next (C:\Users\phani\Desktop\Node\node_modules\express\lib\router\index.js:182:10)
我安装所需的模块。但它仍然无法创建会话。有人能指出错误吗。更新的完整代码在注册中间产品后注册您的路线:
var app=express();
var routes=require('../app/routes/index.server.routes');
app.use(cookieParser());
app.use(session({
saveUninitialized: true,
resave: true,
secret: "This is a secret"
}));
routes(app);
您使用的是什么版本的express?“express”:“~4.8.8”这一行
router=require('router')代码>这是什么路由器
模块?从您的代码中,不太清楚您是如何将操作附加到路由的。在astack overflow post中写道,为了使用会话,我们需要cookieparse以及路由器模块。所以我用了什么路由器模块?Express 4没有任何路由器
模块。如果需要Router
对象,可以使用express.Router()。您能否添加有关如何将render
操作实际附加到应用程序的代码?