• 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的模块。

  • 相关阅读:
    OWASP发布AI大模型应用网络安全治理检查清单
    easyexcel结合jdbc手动控制事务加批处理实现百万数据导入
    有向强连通分量(SCC)
    C++语言基础Day3-内联函数
    第160场直播带货数据分享
    Google Earth Engine 教程——NDVI差异分析以及图像采集迭代分析
    SkiaSharp 之 WPF 自绘 拖曳小球(案例版)
    Js逆向教程-08跟值技巧
    用Rust开发一个mybatis的逆向工具
    H5关闭当前页面,包括微信浏览器
  • 原文地址:https://blog.csdn.net/weixin_43292547/article/details/126336100