1.app.js

/**
* koa 中 session 的使用
* 1、npm install koa-session --save
* 2、const session = require('koa-session');
* 3、app.keys = ['some secret hurr'];
* const CONFIG = {
* key: 'koa:sess',
* maxAge: 86400000,
* overwrite: true,
* httpOnly: true,
* signed: true,
* rolling: false,
* renew: false
* }
*
* 4、设置 session
* ctx.session.username = '张三';
* 5、获取 session
* ctx.session.username
*/
// 引入模块
const Koa = require('koa');
const router = require('koa-router')(); /*引入是实例化路由 推荐*/
const render = require('koa-art-template');
const path = require('path');
const session = require('koa-session'); // 实例化
let app = new Koa(); // 配置 koa-art-template 模板引擎
render(app, {
root: path.join(__dirname, 'views'), // 视图的位置
extname: '.html', // 后缀名
debug: process.env.NODE_ENV !== 'production' // 是否开启调试模式
}) // 配置session的中间件
app.keys = ['some secret hurr']; /** cookie的签名 */
const CONFIG = {
key: 'koa:sess', /** 默认 */
maxAge: 86400000, /** cookie的过期时间 【需要修改】*/
overwrite: true, /** (boolean) can overwrite or not (default true) 没有效果 默认*/
httpOnly: true, /** true表示只有服务器端可以获取cookie*/
signed: true, /** 默认 签名 */
rolling: false, /** 在每次请求时强行设置 cookie,这将重置 cookie 过期时间(默认:false) 【需要修改】*/
renew: true, /** (boolean) renew session when session is nearly expired 【需要修改】*/
}
app.use(session(CONFIG, app)); router.get('/', async (ctx) => {
// 获取session
console.log(ctx.session.userinfo);
await ctx.render('index', {
list: {
name: '张三'
}
});
}) router.get('/news', async (ctx) => {
// 获取session
console.log(ctx.session.userinfo);
ctx.body = '新闻页面';
}) router.get('/login', async (ctx) => {
// 设置session
ctx.session.userinfo = '张三';
ctx.body = '登录成功';
}) app.use(router.routes());
app.use(router.allowedMethods()); app.listen(3000);

.

koa 基础(十六)koa 中 session 的使用的更多相关文章

  1. Bootstrap<基础十六> 导航元素

    Bootstrap 提供的用于定义导航元素的一些选项.它们使用相同的标记和基类 .nav.Bootstrap 也提供了一个用于共享标记和状态的帮助器类.改变修饰的 class,可以在不同的样式间进行切 ...

  2. J2EE进阶(十六)Hibernate 中getHibernateTemplate()方法使用

    J2EE进阶(十六)Hibernate 中getHibernateTemplate()方法使用   spring 中获得由spring所配置的hibernate的操作对象,然后利用此对象进行,保存,修 ...

  3. 《C++游戏开发》十六 游戏中的寻路算法(二):迷宫&A*算法基础

    本系列文章由七十一雾央编写,转载请注明出处.  http://blog.csdn.net/u011371356/article/details/10289253 作者:七十一雾央 新浪微博:http: ...

  4. koa 基础(六)应用级路由中间件

    1.应用级路由中间件 app.js /** * 应用级路由中间件 */ // 引入模块 const Koa = require('koa'); const router = require('koa- ...

  5. java基础(十六)----- equals()与hashCode()方法详解 —— 面试必问

    本文将详解 equals()与hashCode()方法 概述 java.lang.Object类中有两个非常重要的方法: public boolean equals(Object obj) publi ...

  6. JavaWeb学习 (十六)————JSP中的九个内置对象

    一.JSP运行原理 每个JSP 页面在第一次被访问时,WEB容器都会把请求交给JSP引擎(即一个Java程序)去处理.JSP引擎先将JSP翻译成一个_jspServlet(实质上也是一个servlet ...

  7. WPF入门教程系列十六——WPF中的数据绑定(二)

    三.绑定模式 通过上一文章中的示例,学习了简单的绑定方式.在这里的示例,要学习一下绑定的模式,和模式的使用效果. 首先,我们来做一个简单示例,这个示例是根据ListBox中的选中项,去改变TextBl ...

  8. (十六)WebGIS中偏移补偿量引发的问题之探讨

    文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/. 1.背景 在上一章里讲解地图平移功能的实现时,我在最后提出了两个问题: ...

  9. C++学习基础十六-- 函数学习笔记

    C++ Primer 第七章-函数学习笔记 一步一个脚印.循序渐进的学习. 一.参数传递 每次调用函数时,都会重新创建函数所有的形参,此时所传递的实参将会初始化对应的形参. 「如果形参是非引用类型,则 ...

  10. Java学习笔记十六:Java中的构造方法

    Java中的构造方法 1.使用new+构造方法 创建一个新的对象: 2.构造方法是定义在Java类中的一个用来初始化对象的方法: 3.构造方法与类同名且没有返回值: 4.语法格式: public 构造 ...

随机推荐

  1. Linux--环境变量配置文件

    Linux系统中环境变量配置文件分为两类: 全局环境变量配置文件 /etc/profile 用户环境变量配置文件 ~/.bash_profile . ~/.bash_login ~/.profile ...

  2. js div模拟水平滚动条

    这个也是我百度到的,但是忘记保存连接了,现在把代码贴上来,有需要的可以参考一下: <!DOCTYPE html> <html> <head> <meta ch ...

  3. python连接oracle导出数据文件

    python连接oracle,感觉table_list文件内的表名,来卸载数据文件 主脚本: import os import logging import sys import configpars ...

  4. Delphi TIdUDPServer组件

  5. vim 绑定到 source insight 快捷键

    1. optioons -> custom commands 2. 选择然后写入run命令: "D:\Program Files (x86)\Vim\vim74\gvim.exe&qu ...

  6. linux 网卡相关命令

    1. ifconfig //查看网络相关信息 2. ifconfig eth0 192.168.1.103 netmask 255.255.255.0 //配置eth0的IP地址 3. route - ...

  7. shell脚本基础和grep文本处理工具企业应用4

    文本处理工具:    egrep:        支持扩展的正则表达式实现类似于grep文本过滤功能:grep -E        egrep [OPTIONS] PATTERN [FILE...]  ...

  8. Cubase如何进行音频移调

  9. 点击startup.bat启动tomcat出现乱码

    找到tomcat目录下的/conf/logging.properties添加语句:java.util.logging.ConsoleHandler.encoding = GBK重启tomcat 问题解 ...

  10. Java WEB框架——SSM之Hello world

    一.建立项目 先搭建一个webapp项目(要选creat from arctype) 起名 选择maven路径,settings.xml那里要选择override才可以在资源管理器中浏览.接下来直接N ...