Express.js会话教程

137 阅读3分钟

你好!在本教程中,我们将解释Express.js会话。我们将了解如何在Node.js应用程序中管理会话。HTTP是一个无状态协议,为了在Node.js应用程序中管理会话,我们将使用express-session 依赖性。

1.1.简介

为了建立这个应用程序,我们将把expression-sessioncookie-parser 中间件的依赖关系放在适当的位置。但在做任何编程的事情之前,我们需要在windows上安装Node.js,你可以从这个链接下载安装程序。点击你的平台的安装程序(也包括NPM包管理器),运行安装程序,开始Node.js安装向导。按照向导的步骤操作,完成后点击 "完成"。如果一切顺利,你可以导航到命令提示符来验证安装是否成功,如图1所示。

express js sessions - npm installation

图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-sessioncookie-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 上成功启动。

express js sessions - launch the app

Fig. 2: 启动应用程序

4.项目演示

当应用程序启动后,打开浏览器并输入以下网址 -http://localhost:4001/session 。如果是第一次请求,将向用户显示以下信息--欢迎首次访问本教程;如果用户重复请求,信息将显示页面访问计数器。这就是本教程的全部内容,我希望这篇文章能为你提供你想要的东西。祝你学习愉快,不要忘记分享!

5.总结

在本教程中,我们学到了。

  • 设置Node.js的步骤
  • 了解Express.js服务器中会话管理的编程样本

你可以从下载区下载本教程的源代码。

6.下载项目

这是一个关于Express.js服务器中会话管理的编程教程。