你好!在本教程中,我们将解释Express.js会话。我们将了解如何在Node.js应用程序中管理会话。HTTP是一个无状态协议,为了在Node.js应用程序中管理会话,我们将使用express-session 依赖性。
1.1.简介
为了建立这个应用程序,我们将把expression-session 和cookie-parser 中间件的依赖关系放在适当的位置。但在做任何编程的事情之前,我们需要在windows上安装Node.js,你可以从这个链接下载安装程序。点击你的平台的安装程序(也包括NPM包管理器),运行安装程序,开始Node.js安装向导。按照向导的步骤操作,完成后点击 "完成"。如果一切顺利,你可以导航到命令提示符来验证安装是否成功,如图1所示。
图1:验证node和npm的安装情况
2.Express.js会话教程
为了设置Express.js服务器,我们需要导航到一个我们的项目将驻留的路径。对于编程的东西,我正在使用Visual Studio Code作为我的首选IDE。你可以自由选择你喜欢的IDE。
2.1 设置依赖性
导航到一个目录,运行npm init -y ,创建一个package.json 文件。这个文件保存着与项目有关的元数据,用于管理项目的依赖性、脚本、版本等。在该文件中添加以下代码,我们将在其中指定依赖关系。
package.json
{
"name": "expressjs-session",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "node index.js"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"express": "^4.17.1",
"express-session": "^1.17.2",
"cookie-parser": "^1.4.5"
},
"devDependencies": {
"nodemon": "^2.0.7"
}
}
要下载依赖项,请导航到包含该文件的目录路径,并使用npm install 命令。如果一切顺利,依赖项将被加载到node_modules 文件夹中,你就可以进行下一步的操作了。
2.2 创建一个Express服务器
在index.js 文件中添加以下编程内容,我们将导入expression-session 和cookie-parser 中间件模块。每当一个用户提出一个介绍性的请求时,将为该用户创建一个新的会话。现在当同一用户的另一个请求到来时,应用程序将已经存储了他们的会话信息。
index.js
const express = require('express');
const cookieParser = require('cookie-parser');
const session = require('express-session');
const app = express();
app.use(cookieParser());
// using secret for cookie handling
app.use(session(
{
secret: 'Your_Secret_Key', // used to sign the session id cookie
saveUninitialized: true, // forces the session that is "uninitialized" to be saved to the store
resave: false // forces the session to be saved back to the session store, even if a session was not modified by request
}
));
// endpoint
// http://localhost:4001/session
app.get('/session', function (req, res) {
if (req.session.page_views) {
// incrementing the page views counter by 1
req.session.page_views++;
res.status(200).json({info: `Welcome to this tutorial. Visit counter : ${req.session.page_views}`});
} else {
// introductory request
// setting the page views counter to 1
req.session.page_views = 1;
res.status(200).json({info: 'Welcome to this tutorial for the first time'});
}
});
const PORT = process.env.port || 4001;
app.listen(PORT, () => {
console.log(`Server started on port ${PORT}`);
});
3.运行应用程序
要启动该应用程序,请导航到项目目录,并输入以下命令,如图2所示。如果一切顺利,应用程序将在端口号4001 上成功启动。
Fig. 2: 启动应用程序
4.项目演示
当应用程序启动后,打开浏览器并输入以下网址 -http://localhost:4001/session 。如果是第一次请求,将向用户显示以下信息--欢迎首次访问本教程;如果用户重复请求,信息将显示页面访问计数器。这就是本教程的全部内容,我希望这篇文章能为你提供你想要的东西。祝你学习愉快,不要忘记分享!
5.总结
在本教程中,我们学到了。
- 设置Node.js的步骤
- 了解Express.js服务器中会话管理的编程样本
你可以从下载区下载本教程的源代码。
6.下载项目
这是一个关于Express.js服务器中会话管理的编程教程。