模块化是指在解决某一个复杂问题或者一系列的杂糅问题时,依照一种分类的思维把问题进行系统性的分解以之处理。模块化是一种处理复杂系统分解为代码结构更合理,可维护性更高的可管理的模块的方式。可以想象一个巨大的系统代码,被整合优化分割成逻辑性很强的模块时,对于软件是一种何等意义的存在。对于软件行业来说:解耦软件系统的复杂性,使得不管多么大的系统,也可以将管理,开发,维护变得“有理可循”。
在Node.js中,提供了一个net模块与一个dgram模块,分别用于实现TCP与UDP的数据通信。 TCP是一种基于链接的协议,再进行通信前,首先要求客户端与服务器建立一条通信的链接。二UDP是一种面向非链接的协议,再进行通信前,不要求首先建立客户端与服务器端的链接,可以直接把数据包发送给对方。基于这个原因,UDP也是一种不可靠的协议,但其传输速率更快,因此更适合实时通信的场合。
在客户端Javascript脚本代码中,对于二进制数据并没有提供一个很好的支持。然而,在处理TCP流或文件流时,必须要处理二进制数据。因此,在Node.js中,定义了一个Buffer类,该类用来创建一个专门存放二进制数据的缓存区。
在Nodejs中,一模块为单位划分所有功能,并且提供了一个完整的模块加载机制。 模块在Nodejs中是一个非常重要的概念,它允许我们将第三方类库引入我们的应用程序中。
在Node.js中,在一个模块中定义的变量,函数,方法只在该模块中可用,但可以通过export对象的使用将其传递到模块的外部。 在Node.js中定义了一个global对象,代表Node.js中的全局命名空间,任何全局变量,函数,对象都是该对象的一个属性值。
在Node.js中,为了使开发者方便测试JS代码,提供了一个叫做REPL(Read-Eval-Print-Loop)的可交互式运行环境。在该环境中,开发者可以输入任何JS代码,按下回车后,REPL环境中将显示表达式的运行结果。下面记录一下REPL的基础知识。
自2009年Node.js诞生以来,其发展速度如此之快。 严格的说,Node.js是一个用于开发各种Web服务器的开发工具。 Node.js为什么发展的这么快,迅速成长起来的呢,首先,我们看一下现在的服务器端语言中存在的问题,在Java、PHP、ASP.NET等服务器端语言中,为每一个客户端创建一个新的线程,每个线程需要耗费大约2MB的内存,就是说,理论上,8GB内存的服务器可以同时连接的最大用户数为4000个左右。要让Web应用程序支持更多的用户,就要增加服务器,这样一来,硬件成本就增加了,而Node.js解决了这个问题,它并不是为每个用户请求创建一个新的线程,而是为每个用户请求触发一个在Node.js内部进行的处理事件。也就是说,使用Node.js可以同时处理多达几万个用户的客户端连接。
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号