node.js框架学习

Last modified date

  • node.js和浏览器的区别
    • 没有浏览器的dom操作
    • 使用v8引擎
    • 包管理使用nm
  • node.js生产环境和开发环境区别
    • NODE_ENV=production
    • NODE_EVN=development
  • 调试node.js
    • enable inspector
    • 启动携带 —inspect命令 ,将开启一个http server
  • 异步流控制
    • 之前通过回调/状态管理/控制流
    • 现在主要是Promise
      • await、async
  • 阻塞、非阻塞
    • 尽量使用异步操作IO
    • 同步的方法有Sync后缀,大部分都是异步
    • 需要考虑并发和吞吐量
  • 事件循环
    • 定时器
    • 待定回调(执行延迟到下一个循环迭代的i/o回调)
    • idle,prepare(node.js自己的)
    • poll(i/o操作完成等)
    • check(回调函数执行)
    • close callbacks

  • 事件产生
    • require(’node:events’)
    • emitter:提交事件
    • on:处理事件
    • once:添加一次事件处理
    • removeListener()/off(): 从监听中移除事件
    • removeAllListeners: 移除所有监听事件
  • process.nextTick
    • 在当前事件循环结束时且在下一个事件循环开始之前调用
  • setImmediate
    • 尽快的执行
    • 实际上执行顺序是,process.nextTick、Promise.then、macrotask(timer)

图来源于:https://juejin.cn/post/7010308647792148511

淋雨