2.2 Node.js介绍
要了解自动化构建工具,对于其搭载平台即关键技术node.js的了解也是十分重要的。了解了它不仅可以帮我更加深入的去理解自动化构建技术还可以知道他们的技术背景。
Node.js是可以令JavaScript在服务器端运行的平台环境。它基于Google chrome的V8引擎。总所周知,JavaScript其实是浏览器的运行脚本语言,在node.js出现之前,可以说JavaScript是绑定与浏览器中的,它没有办法可以独立出来进行编译和运行。但是Node.js给它带来的不同,在Node.js平台下,JavaScript可以想php、java运行在服务器端,并且可以用来处理请求和访问数据库。在Node.js平台下,JavaScript近乎可以完成php、java在服务器端所能做到的一切。
Node.js虽然是JavaScript的服务器平台,但是它十分容易搭建,不像其他的web框架那么复杂。同时Node.js对于服务器的压力也相对足够小。前文我们有说道JavaScript对接于其他后端服务器时相应方式其实是一个难题,Node.js便可以简单的解决此类的问题,它有着有些的扩展性和并发性,而且特别擅长处理实时响应形的问题。Node.js设计便是为了可以作为一个实时响应的web服务器平台。正是由于这个理念,Node.js没有像其他服务器端语言例如java那样来通过多线程的方式来实现高并发性。Node.js它采取的是通过单线程的模式来时高并发,这也是它的重要特性之一。同时Node.js使用了异步非阻塞式的I/O,它可以让CPU的性能最大成都发挥并一直保持在100%,当然要保持这种异步非阻塞式的I/O则必然需要一个循环的时间处理机制,这也是Node.js的第三大特性。异步I/O相比于多线程可以减少在线程的创建和分配的开销,也没有分配内存、CPU缓存和调度时候对资源的消耗,而事件循环机制则辅助I/O一直保持吞吐