初識(shí) node

Node.js是以Google V8 JavaScript引擎為基礎(chǔ)的服務(wù)器端技術(shù),簡(jiǎn)單的說就是運(yùn)行在服務(wù)端的JavaScript。它使用了一個(gè)事件驅(qū)動(dòng)、非阻塞式 I/O 的模型,輕量又高效。

當(dāng)然,學(xué)習(xí)node就要先安裝node.js,網(wǎng)上的教程有很多。我們要確保本機(jī)上node和npm能正常運(yùn)行。

第一個(gè)node程序

// load http module
var http = require('http');

// create http server
http.createServer(function(request, response) {
// content header
response.writeHead(200, {
    'content-type': 'text/plain'
});

// write message and signal communication is complete
response.end("Hello World\n");

}).listen(8124);

console.log('Server running on 8124');

將代碼保存為 helloworld.js ,運(yùn)行如下命令來啟動(dòng)程序 :
node helloworld.js

運(yùn)行命令.png

在瀏覽器中會(huì)看到一個(gè)顯示有"Hello World"內(nèi)容的頁(yè)面

helloworld.png

分析

. var http = require('http);

node中的許多功能都是通過外部程序或庫(kù)來提供,被我們稱作模塊(modules)。第一行中,我們通過require來載入http模塊。HTTP模塊能提供基本的HTTP功能,可以讓應(yīng)用程序支持對(duì)網(wǎng)絡(luò)的訪問。

. http.createServer(function(request,response){});

使用 createServer 方法創(chuàng)建一個(gè)新的服務(wù)器,并且傳遞一個(gè)匿名函數(shù)來作為該方法的參數(shù)。這個(gè)匿名函數(shù)就是 requestListener 函數(shù),它通過兩個(gè)參數(shù)來接收和響應(yīng)數(shù)據(jù),一個(gè)是代表服務(wù)器接收到的請(qǐng)求 ( http.ServerRequest ),另一個(gè)代表服務(wù)器的響應(yīng) ( http.ServerResponse )。

. response.writeHead(200, {
    'content-type': 'text/plain'
});

該方法用來發(fā)送相應(yīng)信息的HTTP頭, 指定HTTP狀態(tài)碼 ( status code ) 為200,內(nèi)容類型為:text/plain。

. response.end("Hello World\n");

調(diào)用 http.ServerResponse.end 方法表示本次通信已經(jīng)完成,并且 “Hello World”內(nèi)容被放入到了響應(yīng)信息中。該方法不可缺少。

. }).listen(8124);

匿名函數(shù)和 createServer 函數(shù)結(jié)束,listen方法指定端口監(jiān)聽。

. console.log('Server running on 8124');

終端打印信息,將文本信息輸出到命令行。

總結(jié)

使用 node.js 時(shí),我們不僅僅實(shí)現(xiàn)了一個(gè)應(yīng)用,還實(shí)現(xiàn)了整個(gè) HTTP 服務(wù)器。
讓 js 運(yùn)行在服務(wù)端,這真的很酷,希望自己的 node 之旅玩的很嗨 -

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • Node.js是目前非常火熱的技術(shù),但是它的誕生經(jīng)歷卻很奇特。 眾所周知,在Netscape設(shè)計(jì)出JavaScri...
    w_zhuan閱讀 3,639評(píng)論 2 41
  • Node.js簡(jiǎn)介 Node 定義 Node.js是一個(gè)建立在Chrome v8 引擎上的javascript運(yùn)行...
    走過路過見過記得閱讀 764評(píng)論 0 4
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 134,937評(píng)論 18 139
  • 一.認(rèn)識(shí)Node 1.什么是Node Node的名稱 Nodejs,NodeJS,Node.js等.本課程遵循官方...
    張金宇閱讀 274評(píng)論 0 0
  • 簡(jiǎn)介 Node.js 專注于實(shí)現(xiàn) web 高性能的服務(wù)器,是一個(gè)讓 JavaScript 運(yùn)行在服務(wù)器上的平臺(tái)。他...
    弄浪的魚1閱讀 266評(píng)論 0 1