Node.js使用初印象
近期Node.js很火,本人也使用了一下,現在說一說感受。
首先看安裝
之前我接觸過Java,Ruby,Shell,C這些開發語言,拿Ruby來說,Ruby的安裝,官方只提供原始碼編譯,對於剛接觸的開發者來說是有不少畏懼的,找安裝包找了好久最後還是自己編譯。
Node.js在其官方網站上提供了各種平臺的2進位制安裝包,我2分鐘就把環境搭建好了。給人的第一印象很好。
語法
Node.js就是javascript,使用了Google的V8解析引擎,所以如果之前有Javascript經驗,就無需重新學習語法。
庫
判斷一個語言先進性現在已經不是看其語法了,而是看其是否提供功能豐富又簡答易用的API庫。
我們首先看如何使用node.js建立一個httpserer:
var http = require(‘http’);
http.createServer(
function onRequest(request, response){
……
}
).listen(80);
console.log(‘Server listened on port 80.’);
看,不到10行程式碼,就完成了一個web伺服器的建立!
然後,sudo node xxx.js,就啟動了!
當然,這只是一個簡易的HTTP伺服器,沒有對各種請求的處理。完整的程式碼示例,可以參考github上的server.js程式碼(https://github.com/ibusybox/foundlosttemple
我們再看一個比較細節的程式碼處理,解析http引數:
url.parse(string).query
|
url.parse(string).pathname |
| |
| |
——
http://localhost:8888/start?foo=bar&hello=world
— —–
| |
| |
querystring(string)[“foo”] |
|
querystring(string)[“hello”]
上面的圖,摘自《
通過node.js封裝的api,很容易解析出http請求中的各種引數:
var url = require(‘url’);
var pathname = url.parse(request.url).pathname;
上面程式碼的pathname,就是start,就是servlet的名字。
比對一下用Java和Ruby實現,都沒有這麼方便的API。
更多的感受,待繼續使用體驗。