03,koa art-template模板引擎,cookies,Session

art-template模板引擎

art-template 是一个简约、超快的模板引擎。有腾讯开发并开源,速度性能最好。
安装两个包
npm install --save art-template
npm install --save koa-art-template
引入let render = require('koa-art-template');
下面是使用,首先
render(app, {
root: path.join(__dirname, 'views'),
extname: '.html',
debug: process.env.NODE_ENV !== 'production'
});
然后使用await ctx.render('user');其它和ejs一样
完全兼容ejs模板的语法。
PS:首次使用,可能提示path不存在,需要引入path模块,let path=require("path");

cookie

cookie是存储于访问者的计算机中的变量。可以让我们用同一个浏览器访问同一个域
名的时候共享数据。
在koa里,cookies不需要安装,直接使用即可。

比如在index页面里面,设置一个cookies
router.get("/",async (ctx)=>{
    let zhi="这是js传过来的数据"
    await ctx.render("index",{
       chuan:zhi
    });
    ctx.cookies.set("username","zhaoyanwei",{
        maxAge:10*1000   //过期时间10秒钟
    })
});
然后就可以到别的页面去获取cookies,比如在news页面打印出来
router.get("/news",async (ctx)=>{
    let list=[
        {title:"红米手机官微宣布将于3月18日",time:"2018-12-24"},
        {title:"红米Note 7 Pro最大的升级一是相机",time:"2018-12-26"},
        {title:"手持就能拍出明亮清晰的夜景大片",time:"2018-12-25"},
        {title:"在同价位极具竞争力",time:"2019-01-21"},
    ];
    await ctx.render("news",{
        list
    });
    var username = ctx.cookies.get("username");
    console.log(username)
})
先访问根页面,然后再访问news页面,就可以在控制台看到打印出来的username。
并且十秒钟过期,十秒后在刷新就打印不出来了。浏览器的cookies保存在F12后的application里面,有个cookies,可以看缓存的数据。

Session

session 是另一种记录客户状态的机制,不同的是Cookie 保存在客户端浏览器中,而
session 保存在服务器上。
当浏览器访问服务器并发送第一次请求时,服务器端会创建一个session 对象,生
成一个类似于key,value 的键值对, 然后将key(cookie)返回到浏览器(客户)端,浏览
器下次再访问时,携带key(cookie),找到对应的session(value)。客户的信息都保存
在session 中。
1、cookie 数据存放在客户的浏览器上,session 数据放在服务器上。
2、cookie 不是很安全,别人可以分析存放在本地的COOKIE 并进行COOKIE 欺骗
考虑到安全应当使用session。
3、session 会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能
考虑到减轻服务器性能方面,应当使用COOKIE。
4、单个cookie 保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20 个cookie。

先安装npm install koa-session --save
再引入let session = require('koa-session');

配置中间件如下
app.keys = ['some secret hurr'];
const CONFIG = {
    key: 'koa:sess',
    maxAge: 86400000,//session的过期时间
    autoCommit: true,
    overwrite: true,
    httpOnly: true,//true表示只有服务器端可以获取cookies
    signed: true,
    rolling: false,
    renew: false,
};
app.use(session(CONFIG, app));
然后就可以使用了
设置值ctx.session.infoname="周杰伦";
获取值ctx.session.infoname
我们来实验一下,在login页面设置一个,到about页面去接收
router.get("/login",async (ctx)=>{
    ctx.session.infoname="周杰伦";
    await ctx.render("login");
});
router.get("/about",async (ctx)=>{
    await ctx.render("about");
    console.log(ctx.session.infoname);
});
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,036评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,046评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,411评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,622评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,661评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,521评论 1 304
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,288评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,200评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,644评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,837评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,953评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,673评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,281评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,889评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,011评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,119评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,901评论 2 355

推荐阅读更多精彩内容

  • 会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话。常用的会话跟踪技术是Cookie与Se...
    chinariver阅读 5,617评论 1 49
  • 背景在HTTP协议的定义中,采用了一种机制来记录客户端和服务器端交互的信息,这种机制被称为cookie,cooki...
    时芥蓝阅读 2,364评论 1 17
  • 你生命中唯一的限制,是你心中为自己所设的限制。那些相信自己能做到和那些相信自己做不到的人,都没有错。
    大芯芯阅读 142评论 0 0
  • 世人都晓神仙好, 其实人间不得了, 君见仙女也寂寞, 偷偷摸摸下凡了。 世人都晓神仙好, 做个凡人不得了, ...
    孤石刘琳锋阅读 240评论 0 0
  • 文:毛敦 本文分为三部分:罗辑思维如何站着赚钱,视频创业者们如何变现,最合适papi酱的变现方式。 当下最火的自媒...
    敦叔阅读 34,737评论 127 514