Quantcast
Channel: 英特尔开发人员专区文章
Viewing all articles
Browse latest Browse all 583

Node.Js 简介

$
0
0

node.js 逐渐被我们所熟知,并且在 web 和 IOT 开发人员之间广为流传。那么,node.js 究竟是什么,为什么被业界用作主要的开发语言。 本文将为您一探究竟。

根据nodejs.org,“node.js 是一种基于 Chrome JavaScript 运行时的平台。” 换句话说,您为服务器编写的代码将以非常相似的方式在浏览器中执行。 您可以轻松地运用在其他地方学习的 JavaScript 技巧。 node.js 具备性能高、事件驱动和轻型化等特征,但其最大的优势是异步编程。

本文将以简单的方式介绍异步与同步编程之间的区别,以便帮助读者了解 node.js 的作用及其如此受欢迎的原因。

同步

假如您正在排队买电影票。 只有您前面的所有人买到票以后,您才能买票,您身后的人也是如此。

异步

您在餐厅吃饭,餐厅中还有许多其他人。 您正在点餐, 其他人也在点餐,而且他们无需等待您的餐食上齐之后便可点餐。 在厨房中,餐厅员工在有条不紊地进行自己的工作:烹饪、上菜和接单。 一旦烹饪完毕,顾客便可就餐。

//example 1
var result = database.query("SELECT * FROM sampletable");
console.log("finished");
console.log("start");
//example 2
database.query("SELECT * FROM sampletable", function(result) {
    console.log("finished");
});
console.log("start");

输出

为:

  1. finished
     start
  2. start
     finished

区别在于,在第一个示例中,程序将在第一行阻止。 下一行 (console.log) 必须等待。 在第二个示例中,console.log 将在处理查询的同时执行。 也就是说,查询将在后台处理,程序可以处理其他任务。当查询数据准备就绪后,您可以随意处理这些数据。

简而言之: 第一个示例将会阻止,而第二个示例不会。

安装

首先,您需要一款 Window 操作系统(最低版本 Windows Vista),然后从下面的网址下载 MSI: http://nodejs.org/download/。 在 windows 设备上安装 node.js 时,确保选中“添加至路径”选项。

创建自己的 node.js 服务器

首先创建一个名为 “server.js” 的新文件。 在该文件中插入下列代码并保存。

var http = require("http");
var server = http.createServer(function(request, response) {
  response.writeHead(200, {"Content-Type": "text/html"});
  response.write("Hello World");                   
  response.end();
});
server.listen(8080);
console.log("Server is listening at port 8080");

要启动服务器,请输入下面显示的命令。 如果一切正常,您将会看到服务器正在监听的一条消息。

node server.js

接下来,请使用 web 浏览器来连接到服务器。 启动所选择的浏览器,并打开以下链接中的一个。 在网络术语中,localhost(IP 地址为 127.0.0.1)指您当前正在使用的设备。 您的浏览器应显示 “Hello World”。

http://localhost:8080

服务器如何工作

require(): Node.js 提供了简单的模块系统。 Node.js 可使用require()方法加载单独的模块。 尽快必须要明确下载许多模块,但是某些模块可与 node.js 捆绑在一起,例如被称为核心模块的 http。

HTTP 服务器可使用http模块的createServer()方法来创建。 createServer()使用一个回调函数作为参数。 服务器每次收到新的请求时都会执行该回调函数。

该回调函数使用两个参数,requestresponserequest对象包含与客户端请求有关的信息,例如 URL、HTTP 标头等等。 同样,响应对象用于将数据返回至客户端

调用listen()会使服务器绑定至一个端口并监听入站连接。此处,我们将端口定义为 8080。

在后面的文章中,我们将更多地介绍 node.js 如何与事件循环相配合、关于节点模块的更多详情,以及如何连接至 mongoDB(一种 NoSQL 数据库)。 


Viewing all articles
Browse latest Browse all 583

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>