设为首页 收藏本站
查看: 570|回复: 0

[经验分享] NodeJS初探之一——神秘的服务器端JS(转)

[复制链接]

尚未签到

发表于 2017-2-21 13:07:42 | 显示全部楼层 |阅读模式
  什么是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版本的包。
  

Js代码 DSC0000.png


  • $tar-zxvfnode-v0.4.2.tar.gz
  • $cdnode-v0.4.2

    2、接下来进行安装

Js代码


  • $./configure
  • $make
  • $sudomakeinstall

   3、安装npm(NodeJS Package Manager NodeJS的包管理器)
   相关介绍文章:http://howtonode.org/introduction-to-npm

  
   安装命令为:          
   (注意出错时请检查是不是以root用户进行安装)
Js代码


  • curlhttp://npmjs.org/install.sh|sh

  

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


  • sudoexportPATH=$PATH:/var/iapps/nodejs/bin

   查看是否安装成功:
Js代码


  • sammor@sammor-desktop:~$cd/
  • sammor@sammor-desktop:/$node--version
  • v0.4.2

  如此便成功安装了NodeJS
  NodeJS ——Hello,World!
  准备脚本:
Java代码


  • //helloworld.js
  • varsys=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("Serverrunningathttp://localhost:8000/");

   执行脚本:
Js代码


  • root@sammor-desktop:/var/iapps/nodejs/work#nodehelloworld.js
  • Serverrunningathttp://localhost:8000/

   这时浏览器上访问 http://localhost:8000/
   就可以在页面上看到期待的效果:
Js代码


  • Hello,World!

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

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-345325-1-1.html 上篇帖子: DevOps(9)Build the NodeJS Env 下篇帖子: 踏上nodejs的不归路——01万事开头难
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表