关键词:node.js
node.js简介
- Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。
- Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。
- Node.js 的包管理器 npm,是全球最大的开源库生态系统。
Node.js 思路:
使用非阻塞的,事件驱动的 I/O 操作来保持在处理跨平台 (across distributed devices) 数据密集型实时应用时的轻巧高效。这听起来有点绕口。
它的真正含义是,Node.js 不是一个即将主导Web开发的世界的银弹级的平台。相反,它是一个满足特别需求的平台。你肯定不会希望使用 Node.js 去做 CPU密集型操作。事实上,使用它进行繁重的计算等于摒弃 Node 几乎所有的优点。Node 真正的亮点在于建设高性能,高扩展性的互联网应用——因为它能够处理庞大的并且高吞吐量的并发连接。
它的工作原理是相当有趣的。传统的网络服务技术,是每个新增一个连接(请求)便生成一个新的线程,这个新的线程会占用系统内存,最终会占掉所有的可用内存。而 Node.js 仅仅只运行在一个单线程中,使用非阻塞的异步 I/O 调用,所有连接都由该线程处理,在 libuv 的加分下,可以允许其支持数万并发连接(全部挂在该线程的事件循环中)。
node.js下载
[官方下载地址][]
[官方下载地址]:http://nodejs.cn/download/
node.js文档
[官方文档][]
[官方文档]:http://nodejs.cn/api/
npm模块
目前非常流行的一些 NPM 模块有:
- express – Express.js,是一个简洁而灵活的 node.js Web应用框架, 并且已经是现在大多数 Node.js 应用的标准框架,你已经可以在很多 Node.js 的书籍中看到它了。
- connect – Connect 是一个 Node.js 的 HTTP 服务拓展框架,提供一个高性能的“插件”集合,以中间件闻名,是 Express 的基础部分之一。
-
socket.io 和 sockjs – 目前服务端最流行的两个 websocket 组件。
Jade – 流行的模板引擎之一,并且是 Express.js 的默认模板引擎。其灵感来源于 HAML。 - mongo 和 mongojs – 封装了 MongoDB 的的各种 API,不过笔者平常工作用的是 mongoose 也很推荐。
- redis – Redis 的客户端函数库.
- coffee-script – CoffeeScript 编译器,允许开发者使用 Coffee 来编写他们的 Node.js 程序。
- underscore (lodash, lazy) – 最流行的 JavaScript 工具库 , 用于 Node.js 的封装包,以及两个采取略有不同的实现方法来获得更好性能的同行。
- forever – 可能是用来确保 node 脚本持续运行的最流行的工具。