码迷,mamicode.com
首页 > 其他好文 > 详细

express中使用 connect-flash 及其源码研究

时间:2016-03-29 21:04:13      阅读:137      评论:0      收藏:0      [点我收藏+]

标签:

刚开始摸node.js, 在用express 4.x 的过程中 有一个connect-flash的玩意 

技术分享

如上图, 在 /reg 页面提交注册信息的时候 如若两次输入的密码不匹配则调用请求对象reqflash方法写入提示消息; 然后 在展示 /reg 页面的时候取出抛给视图模版; 看起来就像个字典对象

这个包必须在引用 express-session 包的前提下才能使用 why1 ,并且写入的值 在取出一次后即销毁 why2。 这非常像asp.net mvc里边的 tempdata对象

 

开源的东西好处就是随时看源码~~~

技术分享

从 var msgs = this.session.flash = this.session.flash || {}; 这边很容易看出 flash 其实就是存储在session中的一个对象的键名;

然后根据传入参数的个数做不同的处理:

  why1 .  当传入参数为2个或多个的时候,session将会有 {"flash":{key:value}  这样的对象,key就是传入的type,  value可能是字符串,数组或者 格式化字符串;

  why2 .  当只传参数type的时候, 就是从session中取出flash对象的相应的value, 并且移除 delete msgs[type];

 

ps:    flash英文解释是:闪光   我理解成一瞬间显示就消失的东西, 非常符合这里的编写意图,  不过个人觉得要是包名改成“session-flash”会更好 :)

 

express中使用 connect-flash 及其源码研究

标签:

原文地址:http://www.cnblogs.com/mushishi/p/5334666.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!