官术网_书友最值得收藏!

  • Node.js權威指南
  • 陸凌牛
  • 792字
  • 2019-01-01 00:13:24

1.4 一個簡單的示例應用程序

接下來,讓我們來看一個最簡單的Node.js示例應用程序,其代碼如代碼清單1-1所示。

代碼清單1-1 一個最簡單的Node.js示例應用程序

var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/html'});
res.write('<head><meta charset="utf-8"/></head>');
res.end('你好\n');
}).listen(1337, "127.0.0.1");
console.log('Server running at http:// 127.0.0.1:1337/');

在這段代碼中,我們首先使用http對象來引用http模塊。代碼如下所示:

var http = require('http');

接下來,我們使用http模塊的createServer方法來創建用于接收HTTP客戶端請求并返回響應的HTTP服務器應用程序。在createServer方法中,定義了當服務器接收到客戶端請求時所執行的回調函數,在該回調函數中指定當服務器接收到客戶端請求時所要執行的處理,代碼如下所示:

http.createServer(function (req, res) {
// 回調函數中的代碼略
})

在回調函數中,使用兩個參數,其中第一個參數代表客戶端請求對象,第二個參數代表服務器端所做出的響應對象。

在我們的示例函數中,首先通過響應對象的writeHead方法書寫響應頭,同時將響應頭中的狀態碼定義為200,將內容類型定義為text/html,表示返回一段HTML代碼,代碼如下所示:

res.writeHead(200, {'Content-Type': 'text/html'});

然后通過響應對象的write方法書寫一行HTML代碼,在本例中書寫一個<head>標簽,并且在<head>標簽中通過使用meta屬性將HTML網頁所使用的字符集定義為UTF-8字符集,目的是為了能夠在瀏覽器中顯示中文,代碼如下所示:

res.write('<head><meta charset="utf-8"/></head>');

最后,通過響應對象的end方法輸出一行HTML代碼并結束響應流,代碼如下所示:

res.end('你好\n');;

http模塊的createServer方法將返回被創建的HTTP服務器對象,我們使用該對象的listen方法指定該服務器使用端口及服務器綁定地址,并對該端口進行監聽,代碼如下所示:

http.createServer(function (req, res) {
// 回調函數中的代碼略
}).listen(1337, "127.0.0.1");

示例代碼中的最后一行代表向控制器窗口輸出“Server running at http://127.0.0.1:1337/”字符串,代碼如下所示:

console.log('Server running at http:// 127.0.0.1:1337/');

將該示例代碼保存在app.js文件(文件名可任意定義)中,然后在操作系統的命令行窗口中輸入以下命令。(為了方便更多讀者的閱讀,本書中使用Windows操作系統中的命令行窗口進行展示。)

node app.js

命令行窗口中將顯示“Server running at http://127.0.0.1:1337/”文字,如圖1-1所示。

圖1-1 運行app.js文件

在任何瀏覽器地址欄中輸入“http://localhost:1337/”地址,瀏覽器窗口中顯示“你好”文字,如圖1-2所示。

圖1-2 第一個示例程序的運行結果

主站蜘蛛池模板: 彩票| 双流县| 利辛县| 旬阳县| 突泉县| 六安市| 磐石市| 锡林郭勒盟| 桦南县| 阜康市| 美姑县| 十堰市| 邳州市| 富平县| 城口县| 双鸭山市| 陵川县| 昌都县| 青川县| 灌云县| 嵩明县| 新沂市| 灵山县| 中卫市| 山阴县| 增城市| 湖州市| 阳城县| 响水县| 阳山县| 洛隆县| 梁河县| 阿拉善左旗| 信丰县| 贺州市| 舟曲县| 双辽市| 乌拉特后旗| 丰顺县| 晴隆县| 罗江县|