謹(jǐn)以此文獻(xiàn)給阿寶瑰艘,邁向成為全棧開發(fā)工程師的第一步藕溅!
Node概述
NodeJS是一個高效的非阻塞式服務(wù)器欣范,也是一個后端編程框架巍耗,使得前端開發(fā)者只需要編寫JavaScript代碼即可完成后端的開發(fā)锌介,極大地提高了開發(fā)效率南用。所謂非阻塞,NodeJS采用完全異步的方式來并發(fā)地處理來自客戶端的請求掏湾,因為采用的是注冊回調(diào)函數(shù)的方式裹虫,因此程序執(zhí)行的時候是異步的,例如以下代碼:
/*main.js, create by Abei*/
var fs = require("fs");
fs.readFile('input.txt', function (err, data) {
if (err) return console.error(err);
console.log(data.toString());
});
console.log("程序執(zhí)行結(jié)束!");
其執(zhí)行結(jié)果是:
$ node main.js
程序執(zhí)行結(jié)束!
input.txt文件中的內(nèi)容
可以發(fā)現(xiàn)融击,代碼先執(zhí)行了后面的內(nèi)容筑公,因此這是一個異步讀取文件 的過程,省去了等待IO操作的時間尊浪。而且NodeJS整個服務(wù)器是一個While循環(huán)匣屡,當(dāng)有請求發(fā)生時,都會把請求扔進(jìn)并行的線程池中處理拇涤,當(dāng)輪詢時發(fā)現(xiàn)有請求完成時捣作,就執(zhí)行回調(diào)函數(shù),因此是非阻塞的鹅士,極大提高了服務(wù)器的效率券躁。
NodeJS的安裝
Mac下安裝NodeJS
在Mac上安裝node.js非常簡單,在官網(wǎng):https://nodejs.org/en/download/ 上下載Macintosh Installer的安裝包一鍵安裝即可,它會自動裝在/usr/bin路徑下也拜,一般用戶的$path都包含該路徑以舒,因此不用做額外的環(huán)境變量配置。
Windows和Linux下安裝NodeJS
在Windows和Linux(ubuntu)下Node.js的安裝具體細(xì)節(jié)見:http://www.runoob.com/nodejs/nodejs-install-setup.html
第一個Web程序
下面是利用node.js寫的一個最簡單的可以用瀏覽器訪問的程序HelloWorld.js:
var http = require("http");
http.createServer(function(request, response){
response.writeHead(200,{'content-Type':'text/plain'});
response.end('I love Abao!\n');
}).listen(8888);
console.log('Server running at http:127.0.0.1:8888/');
在終端中運(yùn)行這個Helloworld.js:
$ node HelloWorld.js
Server running at http:127.0.0.1:8888/
(該程序一直處于監(jiān)聽狀態(tài)......)
在瀏覽器中的運(yùn)行結(jié)果:
程序中首先require了http這個模塊慢哈,創(chuàng)建了一個http對象蔓钟,使用createServer方法去監(jiān)聽8888端口,監(jiān)聽收到request請求利用匿名回調(diào)函數(shù)給出響應(yīng)response卵贱,最終顯示"I love Abao!"滥沫。