Express进阶

2019-06-21  本文已影响0人  醉饮满天星

实现一个项目,功能主要包括:

数据库采用redis,node模块选择node_redis
官网下载redis之后需要先编译。同时使用bcrypt对用户密码做加盐哈希运算。使用bcrypt后会有个dyld: lazy symbol binding failed: Symbol not found,使用npm rebuild bcrypt --build-from-source解决。
关于函数式编程,多异步嵌套使用:
1.每个函数只关心自己的功能;
2.注意顶层函数和末层函数的参数传递关系,和参数可见区域。
3.区分新添的函数到底是不是放在prototype里。
User.get() User.prototype.get() 类比类方法和实例方法。

当查找不存在的键时,Redis会给你一个空的哈希值,故不要用user来判断,用user.id。

// 拓展res方法
var res = express.response
// 将指定的session注入session
res.message = function(msg,type){
  type = type || 'info'
  var sess = this.req.session
  sess.messages = sess.messages || []
  sess.messages.push({type,string:msg})
}
上一篇 下一篇

猜你喜欢

热点阅读