Hello NodeJS - 准备工作
1.为什么用NodeJS
作为同样的初学者,在这方面没多大的发言权.
就我个人而言, 纯JS解决方案是导致我研究它的兴趣点之一,
一个不错的幻灯片: http://www.slideshare.net/q3boy/nodejs-nae
一些参考文章:
- 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之类的传统数据库
1.我们遇到了什么问题?
2.这项新技术解决什么问题,是否契合我们遇到的问题?
3.我们遇到问题的多种解决方案中,当前这项新技术的优势体现在哪儿?
4.使用新技术,带来哪些新问题,严重么,我们能否解决掉?
-- 一本很不错的入门指引。不过不要被其中简单的示例吓到了,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
-- @一回 翻译的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
Nide是一个基于Web的开源的Node.js IDE,在MIT License下开源,代码托管于GitHub。其设计思想是简单、易用。Nide最初是在一个叫做Node Knockout的48小时编程竞赛中开发产生的。
5.WEB项目初始化
-
安装Express
- Express是NodeJS上的一个常用的类库,用于简化开发。
- 安装方法,先在命令行执行: npm install -g express
- 你也可以用metor.js, derby.js等框架。
-
初始化项目
- 命令行执行: express d:\workspace\TestNode
- 进入目录: cd d:\workspace\TestNode
- 安装依赖: npm install -d
- 目录树截图
-
-
运行
- 运行: 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客户端
- 提交
- d:\workspace\TestNode
- git init
- git add .
- git commit -m 'project init'
推荐阅读
-
Java常见问题之javac Hello.java找不到文件的解决方法
-
Spring Boot实战之逐行释义Hello World程序
-
nodejs的使用及其web开发框架
-
Maven2环境安装与准备工作详解
-
Java常见问题之javac Hello.java找不到文件的解决方法
-
Zend Framework入门之环境配置及第一个Hello World示例(附demo源码下载)
-
nodejs进阶(6)—连接MySQL数据库示例
-
IntelliJ IDEA 创建spring boot 的Hello World 项目(图解)
-
nodejs读写json文件的简单方法(必看)
-
搭建简单的nodejs http服务器详解