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

[经验分享] Hello NodeJS

[复制链接]

尚未签到

发表于 2017-2-21 09:43:02 | 显示全部楼层 |阅读模式
  1.为什么用NodeJS
  作为同样的初学者,在这方面没多大的发言权.
  就我个人而言, 纯JS解决方案是导致我研究它的兴趣点之一,
作为一个前端JS控,你是不是在为extjs,jquery欢呼的同时,对着那linux shell,java,php两眼发昏?OK,你需要的救世主是NodeJS。
  一个不错的幻灯片: http://www.slideshare.net/q3boy/nodejs-nae
  一些参考文章:

  • http://www.infoq.com/cn/news/2012/05/suggest-boss-nodejs
适用场景:

  • JSON APIs——构建一个Rest/JSON API服务,Node.js可以充分发挥其非阻塞IO模型以及JavaScript对JSON的功能支持(如JSON.stringfy函数)
  • 单页面、多Ajax请求应用——如Gmail,前端有大量的异步请求,需要服务后端有极高的响应速度
  • 基于Node.js开发Unix命令行工具——Node.js可以大量生产子进程,并以流的方式输出,这使得它非常适合做Unix命令行工具
  • 流式数据——传统的Web应用,通常会将HTTP请求和响应看成是原子事件。而Node.js会充分利用流式数据这个特点,构建非常酷的应用。如实时文件上传系统transloadit
  • 准实时应用系统——如聊天系统、微博系统,但Javascript是有垃圾回收机制的,这就意味着,系统的响应时间是不平滑的(GC垃圾回收会导致系统这一时刻停止工作)。如果想要构建硬实时应用系统,Erlang是个不错的选择

  不适用: 

  • CPU使用率较重、IO使用率较轻的应用——如视频编码、人工智能等,Node.js的优势无法发挥
  • 简单Web应用——此类应用的特点是,流量低、物理架构简单,Node.js无法提供像Ruby的Rails或者Python的Django这样强大的框架
  • NoSQL + Node.js——如果仅仅是为了追求时髦,且自己对这两门技术还未深入理解的情况下,不要冒险将业务系统搭建在这两个漂亮的名词上,建议使用MySQL之类的传统数据库


  • 《我为什么向后端工程师推荐NodeJS》 http://cnodejs.org/blog/?p=780
引用
我想不仅仅是NodeJS,当我们要引入任何一种新技术前都必须要搞清楚几个问题:
1.我们遇到了什么问题?
2.这项新技术解决什么问题,是否契合我们遇到的问题?
3.我们遇到问题的多种解决方案中,当前这项新技术的优势体现在哪儿?
4.使用新技术,带来哪些新问题,严重么,我们能否解决掉?
 

  • 《Node入门 » 一本全面的Node.js教程》http://www.nodebeginner.org/index-zh-cn.html
  -- 一本很不错的入门指引。不过不要被其中简单的示例吓到了,Node有很多类库来帮助你。

  • 几个回答nodejs适合的场景的帖子:
  http://sammor.iteye.com/blog/969300
  http://www.360doc.com/content/12/0110/18/5447793_178573224.shtml
  http://www.cnblogs.com/rmbteam/archive/2011/08/02/2124885.html
  http://www.ibm.com/developerworks/cn/opensource/os-nodejs/index.html?ca=drs
  2.Node相关资源

  • Node的第三方模块:https://github.com/joyent/node/wiki/modules
  • NodeJS国内社区:http://club.cnodejs.org
  • 在cloundfoundry免费部署:http://cndocs.cloudfoundry.com/tools/vmc/installing-vmc.html


  • 《Express JS 中文入门指引手册》http://www.csser.com/tools/express-js/express-guide-reference-zh-CN.html
  -- @一回 翻译的NodeJS的一个主流类库的使用手册。(注:最后的API他没翻译,建议看完后再去看看原版。)
  3.NodeJS安装配置

  • 官方网站及下载地址: http://nodejs.org/
  • 建议在Ubuntu下开发.win下有一些第三方类库编译有兼容性问题(大部分都通过github最新源码解决)
  • 若是win下,安装后建议环境变量PATH添加node的安装目录,将增加node和npm两个指令.
  
4.开发工具
  是不是迫不及待了? 好,工欲善其事,必先利其器。下面推荐几个轻量级的IDE (当然,你可以用万能的Eclipse)

  • Sublime Text 2
  我个人是在使用这个编辑器,最近挺流行的,用的挺舒服的,可以考虑把UltraEdit丢掉.
  永久试用,支持多种操作系统. http://www.sublimetext.com/
  来自盛大创新院的@大城小胖 最近在大力推广: http://xbeta.info/sublime-text2.htm
  
DSC0000.png
  

  • Nide:  http://www.oschina.net/p/nide
  Nide是一个基于Web的开源的Node.js IDE,在MIT License下开源,代码托管于GitHub。其设计思想是简单、易用。Nide最初是在一个叫做Node Knockout的48小时编程竞赛中开发产生的。

  • 更多:  http://club.cnodejs.org/topic/4f32389669bab4d6760389c7
  
5.WEB项目初始化

  • 安装Express

    • Express是NodeJS上的一个常用的类库,用于简化开发。
    • 安装方法,先在命令行执行: npm install -g express
    • 你也可以用metor.js, derby.js等框架。

  • 初始化项目

    • 命令行执行:  express d:\workspace\TestNode
    • 进入目录: cd  d:\workspace\TestNode
    • 安装依赖: npm install -d
    • 目录树截图

    • DSC0001.png
       

  • 运行

    • 运行: node app.js
    • 访问: http://localhost:3000

  6.版本管理

  • 安装GIT

    • http://code.google.com/p/msysgit/downloads/list?can=2&q=%22Full+installer+for+official+Git+for+Windows%22
    • 一本不错的入门教程:http://progit.org/book/zh/
    • 可以看看git-flow
    • 记得配置环境变量

  • 安装TortoiseGit  -- win客户端

    • http://code.google.com/p/tortoisegit/

  • 提交

    • d:\workspace\TestNode
    • git init
    • git add .
    • git commit -m 'project init'


运维网声明 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-345084-1-1.html 上篇帖子: windows下Sublime Text 2开发 Nodejs 下篇帖子: Windows 系统下设置Nodejs NPM全局路径
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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