加入社区

订阅:www.yunweipai.com/feed

QQ群:
1群:201777608 - 运维综合
2群:526871767 - 运维综合
3群:1689067 - Linux Shell脚本

微博:weibo.com/tektea

微信:yunweipai(或扫描以下二维码)

合作伙伴

小猪动图 - GIF动图素材库_GIF在线工具

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 入门》,这是一本很好的介绍node.js入门的书。

通过node.js封装的api,很容易解析出http请求中的各种参数:

        var url = require('url');
var pathname = url.parse(request.url).pathname;

上面代码的pathname,就是start,就是servlet的名字。

比对一下用Java和Ruby实现,都没有这么方便的API。

更多的感受,待继续使用体验。

转载请注明:运维派 » Node.js使用初印象

0
3.1k
2