Posted by:
努力记

努力记,通过记录,计划,让自己的努力可以触碰彩虹!

4,394

Node.js:分析及基本使用

  • 2013-12-01
  • 暂无评论

项目使用方向:

Node.js统一前后端代码,通过less及coffeescript进行扩展
能内建webserver实现高效的web请求,简化web服务器搭建的复杂度

分析:

  1. 小项目:能简化服务器搭建的复杂度
  2. 大项目:能灵活的作为web接口服务器进行数据请求的响应,来代替类似消息队列,缓存中间件,resful相应接口服务器,及相关中间件代理服务器
  3. 作为web应用:可以通过less及coffeescript的模块实现高效结构化的统一开发,其他语言使用这2个模块则需要相应的自动化运维设置,比较繁琐
  4. 最主要的应用方向是与HTML5中的websocket进行相互通信,这点充分结合了node.js和HTML5的特性,能开发出更加令人惊艳的应用体验

难度:

因为node.js很灵活,个人认为对于大型应用的负载均衡,需要有合理的逻辑封装
能从根本上将零碎的应用组装起来,实现高伸缩扩展的分布式结构
设定统一的分布式框架,建立角色为基础的应用关系,内建通信机制及相应的分布式算法

Node.js的目标

  • Node 公开宣称的目标是 “旨在提供一种简单的构建可伸缩网络程序的方法”。
  • 当前的服务器程序有什么问题?服务器能够处理的并发连接的最大数量。
  • Node 解决这个问题的方法是:更改连接到服务器的方式。
  • 每个连接发射一个在 Node 引擎的进程中运行的事件,而不是为每个连接生成一个新的 OS 线程(并为其分配一些配套内存)。
  • Node 声称它绝不会死锁,因为它根本不允许使用锁,它不会直接阻塞 I/O 调用。
  • Node 还宣称,运行它的服务器能支持数万个并发连接。

Node.js的包管理

Node 的一个特性是 Node Package Module,这是一个内置功能,用于安装和管理 Node 模块。
它自动处理依赖项,因此您可以确定:您想要安装的任何模块都将正确安装并包含必要的依赖项。
它还支持将您自己的模块发布到 Node 社区,假如您选择加入社区并编写自己的模块的话。
您可以将 NPM 视为一种允许轻松扩展 Node 功能的方法,不必担心这会破坏您的 Node 安装。
同样,如果您选择深入学习 Node,那么 NPM 将是您的 Node 解决方案的一个重要组成部分。

Node.js安装

1.源码安装需要python支持

设置python2.x版本为python解析器

export PYTHON=`whick python2`
或者添加符号连接
cd /usr/local/bin
ln -s /usr/bin/python2 python
ln -s /usr/bin/python2-config python-config

2.源码安装

tar -zxf node-vxxxx.tar.gz
添加到执行路径
export PATH=$PATH:/opt/node/bin

3.自动更新

npm update npm -g

4.模块安装,通过npm管理

npm install 模块名

全局安装:加上-g参数
项目安装:会在项目目录下建立/node_modules

5.项目开发

npm init用以初始化项目,填写的信息会存放到package.json下

6.项目管理:package.json

规范:http://wiki.commonjs.org/wiki/Packages/1.1
在这个文件里你可以定义你的

  • 应用名称( name )
  • 应用描述( description )
  • 关键字( keywords )
  • 版本号( version )
  • 应用的配置项( config )
  • 主页( homepage )
  • 作者( author )
  • 资源仓库地址( repository )
  • bug的提交地址( bugs )
  • 授权方式( licenses )
  • 目录( directories )
  • 应用入口文件( main )
  • 命令行文件( bin )
  • 应用依赖模块( dependencies )
  • 开发环境依赖模块( devDependencies )
  • 运行引擎( engines )
  • 脚本( scripts )

npm install会自动根据依赖模块下载模块并安装到项目目录下



back up ↑

无觅相关文章插件,快速提升流量