NodeJS自帶服務(wù)器,這點相對于apache、nginx、iis等服務(wù)器相比,在功能上可能有制約,但是由于即裝即用免配置的特點,用來做接口測試和數(shù)據(jù)模擬還是相當方便的。這也是我大愛NodeJS的一個原因。
創(chuàng)建簡單的服務(wù)器
官網(wǎng)的實例代碼如下所示:
var http = require('http'); http.createServer(function (req, res) { res.writeHead(200, {'Content-Type': 'text/plain'}); res.write('Hello Node.js\n'); res.end('Hello World'); }).listen(1337, '127.0.0.1'); console.log('Server running at http://127.0.0.1:1337/');
啟動服務(wù)器,執(zhí)行該腳本后在瀏覽器輸入欄填寫地址:http://127.0.0.1:1337/,即可看到瀏覽器顯示Hello World文本。
除了創(chuàng)建方式,腳本的執(zhí)行步驟不介紹外,有幾點我們是可以關(guān)注的,分別如下:
輸出頭信息(res.writeHead)
API地址:https://nodejs.org/api/http.html#http_response_writehead_statuscode_st...
作用:定制響應(yīng)的頭信息。
在上面的示例中,其作用是請求ok(http status為200),輸出的信息是普通的文本信息('Content-Type': 'text/plain')。
響應(yīng)主體的信息(res.write)
API地址:https://nodejs.org/api/http.html#http_response_write_chunk_encoding_ca...
作用概述:寫入響應(yīng)主體的信息,這些信息被瀏覽器接受后,會顯示在瀏覽器中。
發(fā)出響應(yīng)信息(res.end)
API地址:https://nodejs.org/api/http.html#http_response_end_data_encoding_callb...
作用概述:該方法一經(jīng)調(diào)用,將會向客戶端發(fā)出響應(yīng)信息
拓展
Node.js向可客戶端輸出json
var http = require('http'); var data = {key: 'value', hello: 'world'}; var srv = http.createServer(function (req, res) { res.writeHead(200, {'Content-Type': 'application/json'}); res.end(JSON.stringify(data)); }); srv.listen(8080, function() { console.log('listening on localhost:8080'); });
Node.js向可客戶端輸出XML
var http = require('http'); var data = '<?xml version="1.0" encoding="UTF-8"?><root><tag>text</tag></root>'; var srv = http.createServer(function (req, res) { res.writeHead(200, {'Content-Type': 'application/xml'}); res.end(data); }); srv.listen(8080, function() { console.log('listening on localhost:8080'); });
更多信息請查看IT技術(shù)專欄