Node.js入门指南
上QQ阅读APP看书,第一时间看更新

1.1 Node.js简介

Node. js是一种能够在服务器端运行JavaScript语言的宿主环境。该宿主环境能够支持跨平台功能,如Windows平台、Linux平台、Mac平台等。使用Node.js可以在服务器端使用JavaScript语言完成如PHP、Java、Perl等语言才能完成的后端开发功能,并且完成的项目更符合软件工程的要求。

Node. js是由Linux基金会支持研发的。借鉴了谷歌浏览器最为核心的V8引擎,通过V8引擎使JavaScript语言能够更加高效地处理如并发、异步等影响性能的问题。其最大的特点为单线程、事件驱动、非阻塞,以及异步输入和输出。通过这些技巧能够解决I/O耗时长、多线程程序设计复杂等问题。

Node. js最初是由Ryan Dahl发起的开源项目,后由Joyent公司进行商业化运营,尽管Node.js诞生时间还不长(于2009年诞生),但是到目前为止,已经发展成相当庞大的生态系统,包含各大领域层次的NPM包,如MongoDB、MySQL的连接器,以及CSS的样式表、模板引擎、数字格式化等。使用这些NPM包可以相当快捷地完成基本应用的开发。

Node.js与JavaScript语言的关系

JavaScript语言的最大特点就是运行在浏览器端。由于其快速发展,霸占了浏览器领域,成为浏览器领域中使用范围最广的一门语言。在浏览器端,JavaScript拥有JavaScript脚本语言的基础语言ECMAScript,文档对象模型DOM,浏览器对象模型BOM。在Node.js端,JavaScript拥有JavaScript脚本语言的基础语言ECMAScript,但是由于不在浏览器端,所以并不包含文档对象模型DOM,浏览器对象模型BOM。可以这样说,Node.js是浏览器端的JavaScript加上了ID操作,是OS系统操作的JavaScript简化版本。

ECMAScript是一种由Ecma国际在标准ECMA-262中定义的脚本语言规范。这种语言在万维网上应用广泛,它往往被称为JavaScript或JScript。

Node. js除了没有BOM和DOM外,实现了服务器端语言最为核心的文件API、网络API等模块。通过这些模块可以使开发者轻松完成一个高性能的、符合标准的服务器端语言的开发。由于Node.js遵守了CommentJS规范,使其可以进行模块化开发,并能符合软件工程开发软件的基本要求。

Node. js的核心技术使用了谷歌开发的V8引擎,V8引擎的编译速度相当于本地代码的执行速度,所以Node.js的运行稳定并具有兼容JavaScript语言的特性。

注意

Node.js发展到2020年,其功能已相当完善,可用性也非常高,完全可以支撑起一个具有相当规模的网站了。[1]