• express-session使用demo,ts项目里新建模块使用nodejs运行时需要安装非ts模块


    express-session的demo

    使用vue create创建js项目后,安装了express和express-session模块。在项目根目录新建文件夹编写express服务器(server2\index.js),并使用npx nodemon启动。

    //1.先安装express 和 express-session(自行安装)
    //2在app.js(你需要运行的node文件)中导入
    const express = require('express')
    const session = require('express-session')
    const app = express()
    //3服务端设置允许跨域cors的中间件
    app.use((req, res, next) => {
      res.header('Access-Control-Allow-Origin', 'http://localhost:8081');
      res.header("Access-Control-Allow-Methods", "PUT,POST,GET,DELETE,OPTIONS");
      res.header("ACCESS-Control-Allow-Headers", "Content-Type");
      //  允许客户端发送跨域请求时携带cookie信息 这个很重要
      res.header('Access-Control-Allow-Credentials', 'true');
      next()
    }),
    app.use(express.json()) //识别客户端提交的json数据
    //4.设置session
    app.use(session({
      name: 'logintext',  //传入客户端存储sessionid的cookie的名字
      secret: 'yigemimi', //用于对sessionID的cookie进行签名
      resave: true, //强制session保存到session store中
      saveUninitialized: true,
      cookie: {
        maxAge: 24 * 60 * 60 * 1000 //过期时间设置
      }
    }))
    //登陆并保存session 这里只是简单的进行了验证,并没有从数据库中查找匹配user 用post方法把用户名和密码添加到请求体中
    app.get('/a1', (req, res) => {
        console.log(req.session)
        const name=req.session.name||'张三'
        req.session.name=name+'a'
        res.send({ error: 0, status: 200})
    })
    
    //设置监听端口
    app.listen(8081, () => {
      console.log('succeed');
    })
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37

    使用vue create创建ts项目后,安装了@types/express和@types/express-session模块,在server2\index.ts写同上代码并启动,报错Cannot find module ‘express-session’。
    解决办法是安装了express和express-session模块。
    不知道是不是因为npx nodemon启动不使用@types下的模块,需要安装不带@types的模块。

  • 相关阅读:
    16-数据结构-图的存储结构
    显示器显示的画面突然偏红色如何解决
    常用Linux命令
    合宙ESP32C3 的Arduino开发教程环境配置
    多目标进化算法详细讲解及代码实现(样例:MOEA/D、NSGA-Ⅱ求解多目标(柔性)作业车间调度问题)
    计网知识点总结(持续更新)
    黑客首选攻击语言为什么是Python?你知道吗?
    工作流调度系统Azkaban
    Polygon zkEVM Memory Align状态机
    【数学】 4、向量的内积、外积、模长
  • 原文地址:https://blog.csdn.net/weixin_43292547/article/details/126336100