Node初探

224 阅读3分钟

Node.js或者Node是一个开源跨平台的运行环境,用来在浏览器外执行JavaScript代码。我们常用Node来创建后端程序,更常说的是API,也就是应用程序接口(Application Programming Interface)。这些用来支撑客户端的服务,比如网络应用,它们在浏览器中运行。或者手机应用,它们在手机中运行。这些客户端简单来说就是管理用户所见和所做。它们只是外壳,它们需要与一些在服务器或云端的服务对话,去保存数据,发送邮件,推送消息,流转工作等。

Node是创建高可扩展性数据密集型和实时的后端服务,去支持客户端的非常好的工具。

首先Node很容易上手,可以很好的适应原型和敏捷的开发工作,它也支持开发超速和高扩展性的服务。在很多的大公司比如PaPal、优步,沃尔玛等等都有使用。

另外Node是由JavaScript编写的,所以如果你是属性JavaScript的前端开发者,那么完全可以做到无缝切换,复用所学的JavaScript知识。无需学习一门新语言,做到同时在前后端使用JavaScript。使用相同的命名规范、工具编写Node

最后就是Node拥有强大的生态和众多的开源库,这意味着你想在应用添加一些特性或者功能块。直接就可以使用很多免费并开源的库,而不需要从头开始创建这些代码块,转而关注Node的核心内容。

Node之前,JavaScript只能运行在浏览器里,每个浏览器都有我们所说的JavaScript引擎,它讲JavaScript代码转换为机器才懂的机器码。例如微软的Edge浏览器使用的引擎是ChakraFirefox的引擎是SpiderMonkeyChrome的引擎是v8。因为各自浏览器的引擎不同,JavaScript的行为可能在浏览器之间会有不同。这也是为什么我们需要在不同的浏览器进行测试。浏览器提供了一个JavaScript代码的运行环境。比如在浏览器是有windowdocument对象的,这些对象允许我们操作代码的运行环境。在此之前浏览器是运行JavaScript的唯一途径,直到Node的出现,实现了在浏览器外运行JavaScript的方式。同时包含一些用来提供环境的对象,当然这些对象与在浏览器中的对象不同。

Node里是没有document对象,但它提供的环境对象有着其它的能力。比如可以操作文件系统,或者列出对给定端口的请求,而这些是浏览器做不到的。

fs.readFile();
http.createServer();

总结起来说,Node是一个包含JavaScript引擎的程序,并提供给我们一些浏览器没有的新特性,我们可以处理文件系统或者网络请求等。