zoukankan      html  css  js  c++  java
  • express中使用 connect-flash 及其源码研究

    刚开始摸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中的一个对象的键名;

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

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

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

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

  • 相关阅读:
    有一种努力叫“凌晨四点”
    编程思想
    小记
    团队精神与集体主义
    变量起名
    软件项目估量方法
    戏说QQ
    压力说
    AngularJS指令基础(一)
    Leetcode 1021. Best Sightseeing Pair
  • 原文地址:https://www.cnblogs.com/mushishi/p/5334666.html
Copyright © 2011-2022 走看看