《NodeJS开发指南》学习笔记

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《NodeJS开发指南》学习笔记相关的知识,希望对你有一定的参考价值。

欢迎大家指导与讨论 : )

  注:此笔记是基于《NodeJS开发指南》,并不是原著。

  第一章——NodeJS简介

  NodeJS是一个可以让javascript运行在服务器端的平台,它为实时Web应用(Real-time Web)开发而生。拥有实时响应,超大规模数据要求下架构的可扩展性。它采用了单线程、异步式I/O、事件驱动式的程序设计模型。统意义上,Javscript是由ECMA、DOM、BOM组成。

  NodeJS采用的是单线程模型,对于所有的I/O都采用异步式的请求方式,避免了频繁的上下文切换。NodeJS在执行过程中会维护一个事件队列,程序在执行时进入事件循环等待下一个事件到来,每个异步式I/0请求完成之后会被推送到事件睡了,等待程序进行处理。

  NodeJS通过基于事件的异步回调机制,来进行非阻塞请求。例如,磁盘I/O、网络通讯、数据库查询等需要时间开销的事件。一个生动的例子可以理解NodeJS机制:一个生产鸡腿的工厂,里面只有一条流水线,工人A在这条流水线的顶端,他负责为鸡腿打上塑料包装,并且他同一个时刻只能操作一只大鸡腿(一条事件队列,NodeJS进程在同一时间只会处理一个事件)。工人A做事非常有效率,每每见到工序已经完善的鸡腿会毫不犹豫地进行包装,但是每当他看到一些还没有完成工序的鸡腿流入了流水线,他就会和鸡腿说: "hey! 哥们,你还没有上酱油呢!我先把你拿去隔壁的上酱油流水线,不过你放心,等你上完酱油,那条流水线会再把你送回来处理的啦,等下我们再见!我先处理你之后的鸡腿吧~"(进程不会等待,而是直接继续执行后面的语句,阻塞事件进入事件循环,当完成时会重新进入到事件队列并等待被处理,那时候线程才会调用之前的回调函数继续执行后面的逻辑)。

以上是关于《NodeJS开发指南》学习笔记的主要内容,如果未能解决你的问题,请参考以下文章

Nodejs学习笔记--- 简介及安装Node.js开发环境

Nodejs学习笔记--- 简介及安装Node.js开发环境

深入浅出nodejs学习笔记——nodejs简介

NodeJS学习笔记—2.AMD规范

NodeJS学习笔记——搭建开发框架Express,实现Web网站登录验证

nodejs学习笔记 -- npm介绍