我是 NodeJS 的初学者。刚开始一个简单的项目,我需要一个会话管理概念。那么如何在 NodeJS 应用程序中管理会话。
在我的项目中有两个文件:- app.js 和 routes.js。
那么我们在哪里添加会话以及如何添加?
app.js 文件:-
var express = require('express'),
app = express(),
path = require('path');
app.set('views', path.join(__dirname , 'views'));
app.engine('html', require('hogan-express'));
app.set('view engine', 'html');
app.use(express.static(path.join(__dirname,'public')));
require('./routes/routes.js')(express,app);
app.listen (3000 , function(){
console.log("working on the Port 3000");
});Run Code Online (Sandbox Code Playgroud)
和 routes.js 文件:-
module.exports = function(express, app){
var router = express.Router();
router.get('/', function(req , res , next){
res.render('index',{title: 'Welcome'});
});
}Run Code Online (Sandbox Code Playgroud)
对于会话管理,我们需要一个中间件 'cookie-parser'。以前它是 express 的一部分,但在 express 4.0 之后,它是一个单独的模块。
所以要访问 cookie 解析器,我们需要在我们的项目中安装:
npm 安装 cookie 解析器 --save
然后将其添加到您的 app.js 文件中:
var cookieParser = require('cookie-parser');
app.use(cookieParser()); Run Code Online (Sandbox Code Playgroud)
然后我们需要会话模块。因此,首先通过以下方式安装会话模块:
npm install express-session --save
然后启用会话。我们在 app.js 文件中添加以下代码。
app.use(session({secret:config.sessionSecret, saveUninitialized : true, resave : true}));Run Code Online (Sandbox Code Playgroud)
然后来到routes.js文件:-
让我们假设有一个会话变量 favColor。现在使用会话设置颜色并进入另一个页面。代码看起来像:-
router.get('/setColor', function(req , res , next){
req.session.favColor = 'Red';
res.send('Setting favourite color ...!');
});
router.get('/getColor', function(req , res , next){
res.send('Favourite Color : ' + (req.session.favColor == undefined?"NOT FOUND":req.session.favColor));
});Run Code Online (Sandbox Code Playgroud)
这就是会话管理的全部内容。我们还可以了解有关会话的更多信息:-本参考