Node.js是一個事件驅(qū)動的亦鳞,異步的JavaScript運行時僧界。它輕量呆细,高效型宝,基于Chrome的V8引擎。其設(shè)計目標是為了構(gòu)建高并發(fā)可擴展的Web程序或服務(wù)絮爷。
拋開JavaScript語言本身不談趴酣,因為派系和語言一直是寫代碼的手藝人之間無休止的爭論,我們首先來體驗下用Node.js從安裝到實現(xiàn)一個Web Service的Hello world究竟有多么簡單坑夯,請自行對比傳統(tǒng)的Web Service(包括Rails, Python的框架)開發(fā)框架從安裝到寫一個能運行起來一個Hello World的過程岖寞。
安裝Node.js
如果你在Mac或者Windows上開發(fā),Node.js官網(wǎng)提供了二進制安裝包柜蜈,雙擊一路Next即可慎璧。
如果你用Linux系統(tǒng)(以CentOS 6.x為例,其他發(fā)行版有略微差異跨释,具體安裝方法參見這里)可以通過執(zhí)行這兩條命令來安裝:
curl -sL https://rpm.nodesource.com/setup_6.x | bash -
yum install -y nodejs
選擇一個趁手的編輯器
話說工欲善其事胸私,必先利其器…其實真實的情況是,相比配置Java的開發(fā)環(huán)境(不敢對比PHP鳖谈,因為PHP是最好的語言)岁疼,這里的篇幅實在太少,以至于我要把編輯器的選擇獨立作為一節(jié)缆娃。
言歸正傳捷绒,無論你是在Windows,Mac下還是Linux下我都推薦Sublime Text贯要,甚至vim的重度用戶也能從中找到歸屬感(Sublime Text能夠設(shè)置使用vim的鍵盤方式操作)暖侨。當然如果你有自己非常趁手的編輯器那就另當別論了。如果你覺得Sublime Text不順手崇渗,還可以試試其他我覺得不錯的編輯器:VS Code(Microsoft出品字逗,具有強大的代碼自動補齊功能),Brackets宅广。
Hello world
新建一個文本文件葫掉,取名server.js,并復(fù)制以下內(nèi)容到server.js中跟狱。
const http = require('http');
const hostname = '127.0.0.1';
const port = 3000;
const server = http.createServer(function(req, res) {
res.end('Hello, World!\n');
});
server.listen(port, hostname, function() {
console.log("Server is running at %s:%s", hostname, port);
});
在命令行中運行node server.js俭厚,可以看到
Server running at 127.0.0.1:3000
之后在瀏覽器中訪問http://127.0.0.1:3000/ 就能看到Hello World了。
整個過程不需要安裝和配置額外的Web Server驶臊,也不需要配置各種環(huán)境變量挪挤,即寫即用叼丑。
下一篇文章中我們將利用Express.js(一個基于Node.js web框架)來搭建一個符合生產(chǎn)運行的一個RESTful Web Service。