1.什么是Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。
Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。
Node.js的特点:单线程、非阻塞异步I/O、事件驱动。
2. Node不同:
●Node.js不是一种独立的语言,与PHP、JSP、Python、Perl、Ruby的“既是语言,也是平台”不同,Node.js的使用JavaScript进行编程,运行在JavaScript引擎上(V8)。
与PHP、JSP等相比,Node.js跳过了Apache、Nginx、IIS等HTTP服务器,它自己不用建设在任何服务器软件之上。Node.js的许多设计理念与经典架构(LAMP)有着很大的不同,可以提供强大的伸缩能力。
Node.js自身哲学,是花最小的硬件成本,追求更高的并发,更高的处理性能。
Node.js适合用来开发什么样的应用程序呢?
当应用程序需要处理大量并发的I/O,而在向客户端发出响应之前,应用程序内部并不需要进行非常复杂的处理的时候,Node.js非常适合。Node.js也非常适合与web socket配合,开发长连接的实时交互应用程序。
比如:●用户表单收集 ●考试系统 ●聊天室 ●图文直播 ●提供JSON的API(为前台Angular使用)
3. 模块:包含特点功能的js文件
node 自带的核心模块:
HTTP,URL,FILE,SYSTEM...
也可以支持自定义模块
4.非阻塞或异步I/O;
node是一种服务器的框架,主要的工作就是处理浏览器请求.
传统的服务端框架:当前页面请求只有当前请求响应时才会发出,这种就是阻塞I/O
node不遵循I/O这种方式
node 如果需要花费比较长的时间,那么node就会发送请求到事件循环(event loop)中,并继续在调用栈中处理下一个请求.一旦请求处理完成,就是通知node,并响应渲染到浏览器上.