xmxm76 发表于 2017-2-21 12:54:44

NodeJS初探之一——神秘的服务器端JS

  什么是NodeJS?


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


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

  



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


特点:

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

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

* 社区活跃,组件丰富

   

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

  不信?好吧,看看下面的这些:

  



http://nodejs.org/   官网

https://github.com/joyent/node/wiki   wiki

http://cnodejs.org/   淘宝的工程师志愿发起的原创社区

http://www.grati.org/?cat=35一个国内灰常活跃的社区

http://wiki.grati.org/index.php?title=NodeJS%E4%B8%AD%E6%96%87%E6%96%87%E6%A1%A3
官方文档翻译wiki




引自:cnodejs.org

 官方网站: http://nodejs.org/

 英文文档: http://nodejs.org/docs/v0.3.5/api/all.html

 node包管理器: http://npmjs.org/

 官方介绍: http://nodejs.org/jsconf2010.pdf

 Node的模块大全,必阅读: https://github.com/ry/node/wiki/modules

 一个Node入门网站: http://howtonode.org

 一个不错的Node博客: http://blog.nodejitsu.com/

 包含了不少node信息的前端blog:http://dailyjs.com/

 一个48小时NodeJS的竞赛网站: http://nodeknockout.com/


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


  


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

  



$ tar   -zxvfnode-v0.4.2.tar.gz
$ cd   node-v0.4.2
 
       2、接下来进行安装



$ ./configure
$ make
$ sudo make install
 
       3、安装npm(NodeJS Package Manager
NodeJS的包管理器)

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


      

   
安装命令为:          

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


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


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


sudo export PATH=$PATH:/var/iapps/nodejs/bin
   查看是否安装成功:


sammor@sammor-desktop:~$ cd /
sammor@sammor-desktop:/$ node --version
v0.4.2
  如此便成功安装了NodeJS

  NodeJS ——Hello,World!



  准备脚本:


//helloworld.js
var sys = require("sys"),
http = require("http");
http.createServer(function(req, res) {
setTimeout(function () {
res.writeHeader(200, {"Content-Type": "text/plain"});
res.write("Hello,World!");
res.finish();
}, 2000);
}).listen(8000);
sys.puts("Server running at http://localhost:8000/");

 
 
    


执行脚本:


root@sammor-desktop:/var/iapps/nodejs/work# node helloworld.js
Server running at http://localhost:8000/
 
     这时浏览器上访问 http://localhost:8000/

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


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

  问题


    在这里,我只想起个引子,让大家更多的知道这个东西。因为我觉得,这或许对于前端来说是一个很大的惊喜,但对于不善于前端的我来说了开始疑惑了,也许很多人也一样在想着,这样的东西,适用于什么样的场景下?相对于传统的服务端方式来说,它又有什么优势呢?后面有一篇关于我问分享的讲师的一些问题,大家可以看看 NodeJS初探之三——新星的力量


  NodeJS的应用


  NodeJS初探之二——与Mysql的交互


  NodeJS初探之三——新星的力量

  
页: [1]
查看完整版本: NodeJS初探之一——神秘的服务器端JS