Node.js入门之神秘的服务器端JavaScript


第一次看到这个名字,是我在报名淘宝的知识分享时看到的,我很兴奋也很好奇这样的一个JS框架。而你看到这个名字的第一个反应会是什么,是否和我一样的简单的以为它就是一个JS框架?反正我是这么认为了。如果你也是,哈哈,看来也是和我一样单纯。


在去听分享前,我特意google了相关资料来了解,不禁使我吓一大跳,或许是我刚出校园,视野太窄,远没有想过JS脚本从可以从客户端的浏览器转移到了 服务器上。当然,我不是很明白,这样做达到了一个什么样的好处。


简单地说,NodeJS是一个使用了Google高性能V8 引擎 的服务器端JavaScript实现。它提供了一个(几乎)完全非阻塞I/O栈,与JavaScript提供的闭包和匿名函数相结合,使之成为编写高吞吐 量网络服务程序的优秀平台。


特点:


◆ 单线程事件模型,简单高效


◆ 基于活跃的高性能V8引擎


◆ 社区活跃,组件丰富


或许,这一大炮又让前端开发人员又掀起一阵高浪。 在听完淘宝之后的分享,以及之后在网上相关的准备的查询,我才知识,NodeJS正在稍无声息的壮大起了了,一群活跃的开发人员,正在喂养这个出世不久的 孩子,这或许将是继日本海啸的后浪。


NodeJS 安装(安装环境ubuntu10.04):


1、先从官网上(http://nodejs.org/)下载源码,这边我所下的是 node-v0.4.3.tar.gz 版本的包。


Js代码


  1. $ tar   -zxvf  node-v0.4.2.tar.gz  
  2. $ cd   node-v0.4.2 



2、接下来进行安装


Js代码


  1. $ ./configure  
  2. $ make  
  3. $ sudo make install 



3、安装npm(NodeJS Package Manager NodeJS的包管理器)


相关介绍文章:http://howtonode.org/introduction-to-npm


安装命令为:


(注意出错时请检查是不是以root用户进行安装)


Js代码


  1. curl http://npmjs.org/install.sh | sh 



4、 配置环境变量,在这里,我所安装的路径为~$ cd /var/iapps/nodejs/


Js代码


  1. sudo export PATH=$PATH:/var/iapps/nodejs/bin 



查看是否安装成功:


Js代码


  1. sammor@sammor-desktop:~$ cd /  
  2. sammor@sammor-desktop:/$ node --version  
  3. v0.4.2 



如此便成功安装了NodeJS


NodeJS ——Hello,World!


准备脚本:


Java代码


  1. //helloworld.js  
  2. var sys = require("sys"),    
  3.      http = require("http");    
  4.      http.createServer(function(req, res) {    
  5.      setTimeout(function () {  
  6.              res.writeHeader(200, {"Content-Type": "text/plain"});  
  7.              res.write("Hello,World!");  
  8.              res.finish();  
  9.          }, 2000);  
  10.      }).listen(8000);  
  11.  sys.puts("Server running at http://localhost:8000/");    

执行脚本:


Js代码


  1. root@sammor-desktop:/var/iapps/nodejs/work# node helloworld.js   
  2. Server running at http://localhost:8000/ 

这时浏览器上访问 http://localhost:8000/


就可以在页面上看到期待的效果:


Js代码


  1. Hello,World! 



这就是NodeJS的Hello,World! 神奇吧。


问题 :


在这里,我只想起个引子,让大家更多的知道这个东西。因为我觉得,这或许对于前端来说是一个很大的惊喜,但对于不善于前端的我来说了开始疑惑了,也许很多人也一样在想着,这样的东西,适用于什么样的场景下?相对于传统的服务端方式来说,它又有什么优势呢?


原文:http://www.iteye.com/topic/968660




标签:
Warning: Invalid argument supplied for foreach() in C:\zl\webjia\view.php on line 50

友情链接
轻松育儿世界奇观
苏ICP备16066217号-2