nodejs實(shí)例解析(輸出hello world)
下面將帶領(lǐng)大家一步步學(xué)習(xí)nodejs,知道怎么使用nodejs搭建服務(wù)器,響應(yīng)get/post請(qǐng)求,連接數(shù)據(jù)庫(kù)等。
搭建服務(wù)器頁(yè)面輸出hello world
var http = require('http'); http.createServer(function (request, response) { response.writeHead(200, {'Content-Type': 'text/html; charset=utf-8'}); if(request.url!=="/favicon.ico"){ //清除第2此訪問(wèn) node.js bug,第二次訪問(wèn)/favicon.ico console.log('訪問(wèn)'); response.write('hello,world 世界'); response.end();//不寫則沒(méi)有http協(xié)議尾 } }).listen(8000); console.log('Server running at http://127.0.0.1:8000/'); /* 啟動(dòng)服務(wù) cmd下執(zhí)行: node 1_helloworld.js 瀏覽器訪問(wèn):http://localhost:8000 */
基本語(yǔ)句說(shuō)明:
1)require 語(yǔ)句,模塊通過(guò)它加載。
對(duì)于該語(yǔ)句的解析可參見(jiàn)文章《node.js require() 源碼解讀》(http://www.dbjr.com.cn/article/76308.htm)
2)http.createServer(function(req, res){ }).listen(8000);
方法說(shuō)明:
該函數(shù)用來(lái)創(chuàng)建一個(gè)HTTP服務(wù)器,并將 requestListener 作為 request 事件的監(jiān)聽(tīng)函數(shù)。最后調(diào)用listen函數(shù),監(jiān)聽(tīng)端口。
接收參數(shù):
requestListener 請(qǐng)求處理函數(shù),自動(dòng)添加到 request 事件,函數(shù)傳遞兩個(gè)參數(shù):
req 請(qǐng)求對(duì)象,想知道req有哪些屬性,可以查看 “http.request 屬性整合”。
res 響應(yīng)對(duì)象 ,收到請(qǐng)求后要做出的響應(yīng)。想知道res有哪些屬性,可以查看 “http.response屬性整合”。
3)response.writeHead(200, {'Content-Type': 'text/html; charset=utf-8'});
方法說(shuō)明:
向請(qǐng)求的客戶端發(fā)送響應(yīng)頭。
接收參數(shù):
statusCode HTTP狀態(tài)碼,如200(請(qǐng)求成功),404(未找到)等。
headers 類似關(guān)聯(lián)數(shù)組的對(duì)象,表示響應(yīng)頭的每個(gè)屬性
該函數(shù)在一個(gè)請(qǐng)求內(nèi)最多只能調(diào)用一次,如果不調(diào)用,則會(huì)自動(dòng)生成一個(gè)響應(yīng)頭。
4)response.end()
方法說(shuō)明:
結(jié)束響應(yīng),告訴客戶端所有消息已經(jīng)發(fā)送。當(dāng)所有要返回的內(nèi)容發(fā)送完畢時(shí),該函數(shù)必須被調(diào)用一次。
如何不調(diào)用該函數(shù),客戶端將永遠(yuǎn)處于等待狀態(tài)。
將上面的代碼復(fù)制保存到1_helloworld.js,cmd下執(zhí)行語(yǔ)句:node 1_helloworld.js 。再去瀏覽器訪問(wèn):http://localhost:8000
以上就是本文的全部?jī)?nèi)容,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,同時(shí)也希望多多支持腳本之家!
相關(guān)文章
Node.js實(shí)現(xiàn)一個(gè)HTTP服務(wù)器的方法示例
這篇文章主要介紹了Node.js實(shí)現(xiàn)一個(gè)HTTP服務(wù)器的方法示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05深入理解Node.js中通用基礎(chǔ)設(shè)計(jì)模式
大家在談到設(shè)計(jì)模式時(shí)最先想到的就是 singletons, observers(觀察者) 或 factories(工廠方法)。本文重點(diǎn)給大家介紹Node.JS一些基礎(chǔ)模式的實(shí)現(xiàn)方法,感興趣的朋友跟隨腳本之家小編一起學(xué)習(xí)吧2017-09-09Node.js自定義對(duì)象事件的監(jiān)聽(tīng)與發(fā)射
這篇文章介紹了Node.js自定義對(duì)象事件監(jiān)聽(tīng)與發(fā)射的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-07-07node.js中的http.request方法使用說(shuō)明
這篇文章主要介紹了node.js中的http.request方法使用說(shuō)明,本文介紹了http.request的方法說(shuō)明、語(yǔ)法、接收參數(shù)、使用實(shí)例和實(shí)現(xiàn)源碼需要的朋友可以參考下2014-12-12通過(guò)node-mysql搭建Windows+Node.js+MySQL環(huán)境的教程
這篇文章主要介紹了通過(guò)node-mysql搭建Windows+Node.js+MySQL環(huán)境的教程,node-mysql是JavaScript編寫的一個(gè)Node的MySQL驅(qū)動(dòng),需要的朋友可以參考下2016-03-03在nodeJs中如何修改json文件中的數(shù)據(jù)
這篇文章主要介紹了在nodeJs中如何修改json文件中的數(shù)據(jù),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-10-10