Node.JS进行简单新技术分析及环境搭建

一,简单技术分析:

如今做互联网,如果谁不知道Node.JS一定都不好意思说出口,呵呵,当然,这是好事者的观点。

的确,从2009、年至今,随站Node.JS的的热炒有点像当年的Python,Ruby,ROR,Grooves等,不过Node.JS的论坛的火热甚至于有点疯狂(thriving),再看看各大软件开始对它的支持,可见的确前景不同以往脚本环境。

不过我们总是理智的人,我们来理解的来看待Node.JS.

首先,从执行语言角度来说,它仍只是一个脚本解释器,建立在Google V8引擎上,这归功于这几年的各大浏览器厂商的竞争,使得Google的V8引擎进一步优化,从而执行速度及效率惊人。但效率再惊人,他一样也是脚本平台,就像女人身体再好,一般也拼不过男人的体力,呵呵,所以别期望它能速度快过本地的以机器指令为内容的本地程序平台比如C/C++. 不过还是人家Google做些实事,Java虚拟机在人家手里优化过后,可以用在手机上形成Android平台。

其次,这个脚本解释器解释的是JavaScript 脚本,这可是一个很大的亮点。因为很多程序员转到这个平台上很容易,甚至于前端人员可以不花费太多力气就能来写服务端程序。

再者,这个脚本解释器与别的脚本一样(如Python,Ruby)运行在各种平台上。

最后,除了上述的特点外,我们从使用角度来看它的优缺点:

     它是高效的JavaScript 脚本平台。容易一些旧有前端或Java 开发人员转入到服务端开发,但是因为JavaScript 历史原因,这个脚本语言风格较为散乱,但比起Python,Ruby还是有一些优势的。

     它有一些活跃甚至疯狂的社区,所以它的进步与演化也是快速的,同时也说明两点:1,它还不成熟稳定,2,它的接口及组件还不稳定,版本更替快,而且发现不少不向前兼容的情况发生。

     它有一系列很好的Web服务器组件支持,比如express,express-messages,各种json parser。用它来搭建高并发Web服务器有一定的优势。同时它的对数据库组件也相当丰富,开源的基于Node.JS的平台架构也开始出现

   比如网易的Pemole.

    由于Node.JS能跨越各操作系统,同时,又能快速提供Web,RPC等接口,用它来做后台服务集群的维护工具绝对是一个不错的选择。

    

 

二.安装配置:

  1.  在windows下安装。从http://nodejs.org/下载windows下的.msi安装包,装好就行了。新版的0.8.20安装后NPM就缺省安装了。

   在程序菜单中找到Node.JS的命令行环境,进入后,安装一些必备的组件。

   > npm install express -gd

  这里就不多说了,网上资料很多。也很简单

2. 在linux 下安装也很简单。从http://nodejs.org/下载对应架构的可执行程序(关注64位32位系统区别下载)

  解压包到/home/joezhang/nodejs目录,就可以直接在命令行运行Node.JS了。当然为了使用方便,可以设置一些环境变量

 export PATH=$PATH:/home/joezhang/nodejs/bin
 export NODE_PATH="/homejoezhang/nodejs:/home/joezhang/nodejs/lib/node_modules"

 当然如果你是一个程序文艺青年,可以你下功源码编译安装。

tar -zxvf node-v0.8.20.tar.gz

cd node-v0..8.20/

./configure --prefix=/home/joezhang/nodejs 一般建议安装到/usr/local/nodejs目录下。

make

sudo make install

 

完成安装,你就可以Node.JS的包管理工具npm进行管理组件了,原理与linux的包管理机制一样比如 yum,apt-get等。

由于网络特殊原因,大这都懂的,npm下载组件的原来缺省服务器https://registry.npmjs.org/时常访问很慢,大家可以更换一些镜像服务器

修改 npm config set registry "http://npm.hacknodejs.com/"

或npm config set registry “http://registry.npmjs.vitecho.com

 一般安装常用的组件:

$ npm install express -gd

$npm install express-messages -gd

-g参数是让被安装的组件放到Node.JS lib目录下的node_modules目录下, 在这个位置,可以方便程序共享使用,

d参数就是在安装组件时,同时分析这个组件所有依赖项并进行安装。

当然,也可以本地安装一些网上下载的组件,只要下载的组件里有package.json文件即可,这个文件是组件的描述文件,包含此组件的依赖关系。

三,从一上例子程序开始:

新建一个文件,名为hello.js
内容如下:
var http = require('http');
var url = require('url');
http.createServer(function (req, res) {        
    var path = url.parse(req.url).pathname;
        res.writeHead(200, {'Content-Type': 'text/plain'});
        res.write('Hello!!!!');
        res.end(path); }).listen(80, "127.0.0.1");
 
console.log('Hello,World ! \n.....from Node.JS');
保存后终端里执行
node hello.js
这样就建了一个Web服务器,你在一个浏览器中输入
http://127.0.0.1就可以看到结果。
 
四,调试方法:
 新的开发环境,测试方法很重要,Node.JS的调试方法有几种
1.Node.JS内置的调试器:
 用命令node debug hello.js就可以调试方式来执行刚才写的代码
 
2.基于Eclipse V8插件的调试器
安装google v8调试器插件 : http://chromedevtools.googlecode.com/svn/update/dev/
 
3.基于工具node-dev
>npm install node-dev -gd
>node-dev hello.js
可进行调试运行。
 
4.基于Chrome浏览器的调试器:
 这种方式很简单:
 首先安装node-inspector 组件
 >npm install node-inspector -gd
 然后启动这个组件服务(其实就是启动了一个web 服务器,与Node.JS的调试端口5858连接,然后我们再用另一个chrome客户端也连接这个服务器上,这样Node.JS的调试信息就通过这个web服务传到chrome浏览器上
 这个浏览器本身就是google基于V8引擎的有调试功能的浏览器Chrome,这样就可以理解了,这种远程调试方式常用于调试html5,html,javascript)
 >node-inspector
 开始启动调试
>node --debug-brk hello.js
打开带有调试功能的Chrome浏览器:地址栏中输入如下:
http://localhost:8080/debug?port=5858
因为可以远程调试,可以在别的电脑中打开这个URL只是localhost换成启动node-inspector的电脑地址就可以了。
 
 

 

 

posted @ 2013-02-23 10:40  岁月无声  阅读(2130)  评论(2编辑  收藏  举报