node.js学习笔记(三)——模块与包

模块(Module)和包(package)是Node.js最重要的支柱。开发一个具有一定规模的程序不可能只用一个文件,通常需要把各个功能拆分、分装、然后组合起来。模块正是为了实现这种方式而诞生,而浏览器JavaScript中,脚本模块的拆分和组合通常使用HTML的script标签来实现,Node.js提供了require函数来调用其他模块,而且模块都是基于文件,机制非常简单,模块和包的区别是透明的,因此经常不做区分。

阅读更多...

node.js学习笔记(一)——node.js异步式I/O与事件编程

Node.js最大的特性就是异步式IO与事件紧密结合的编程模式,这种模式与传统的同步式I/O线性的编程思路有很大的不同,因为控制流很大程度上靠事件和回调函数来组织。 阻塞与线程1.同步式I/O(阻塞式I/O):线程在执行过程中如果遇到磁盘读写或网络通信,通常要耗费较长的时间。这时操作系统会剥夺这个线程的CPU控制权,使其暂停执行,同时将资源让给其他的工作线程,这种线程调度方式称为阻塞。当I/O操作完毕时,操作系统将这个线程的阻塞状态解除

阅读更多...