Skip to content
This repository has been archived by the owner on Jun 21, 2018. It is now read-only.

Latest commit

 

History

History
70 lines (57 loc) · 1.65 KB

NodeJs 实战.md

File metadata and controls

70 lines (57 loc) · 1.65 KB

Chapter 3

  1. 使用 exports 导出
exports.Currency = function () {  
    // ...  
};  
  1. 使用 module.exports 微调模块创建
module.exports = function () {  
    // ...  
}  
  1. 回调
    不要过多的嵌套回调
    使用中间函数减少嵌套
    尽早从函数中返回

  2. 时间发射器
    时间发射器会触发时间, 并在事件被触发时处理他们

  3. 串行流程控制

  • 任务按预期顺序放入数组
  • 数组中保存函数, 函数知识完成
  • 顺序取数组元素执行
    本质是在需要时让回调进场
  1. 并行化流程控制
  • 任务保存到数组中(顺序无关)
  • 所有任务完成后处理后续逻辑
  1. 社区工具
  • Nimble
  • Step
  • Seq

Chapter 6

  1. Connect 工作机制
    使用中间件(模块化组件), 以可重用的方式实现web程序逻辑
    中间件是一个函数, 它拦截 http 服务器的请求和响应对象, 执行逻辑, 然后结束相应或将响应传递给下一个中间件
    Connect 使用分派器将中间件连接到一起

  2. 中间件:

var mid = function (req, res, next) {  
    // ...  
    next();  
}  
  1. 中间件的挂在
    为中间件或整个程序定义一个路径前缀
    使用挂在, 可以在更层次下那样编写中间件, 并且不修改代码就可以将它用在任一路径前缀上

  2. 中间件的顺序很重要
    依照 req 和 res 流动的顺序是中间件设定的顺序

Chapter 12

  1. 让 Node 保持运行 Forever
  2. 正常运行时间和性能达到最优
  • Upstart
  • 集群 API
var cluster = reqiure('cluster');  
  • Nginx 处理静态文件