介绍
始于2009年,Ryan Dahl在柏林的一个JS大会上宣布该技术。
Node.js并非运行在浏览器端,而是运行在服务器端。它被称为是将设计网络应用导向正确道路的特殊工具。
优点:
快速高效 -> 事件轮询(event loop)技术 + 构建在V8(js解释器和虚拟机,运行js速度非常快)上
设计思路
通过将V8内嵌到操作系统的集成层,来让javascript享受到底层操作系统的异步接口,从而实现将其带到服务器端的目的。
—-> 实时web应用
安装(Fedora)
$ curl -O http://nodejs.org/dist/v?.?.?/node-v?.?.?.tar.gz
$ tar -xzvf node-v?.?.?.tar.gz
$ cd node-v?.?.?
$ ./configure
$ make
$ make test
$ make install
*现在npm会随着node.js的安装自动安装好,无须手动安装
自定义模块
新建一个package.json文件
优点:
1. 方便分享项目中的模块,他人可以通过npm install
下载依赖而非直接使用node_module的目录
2. 方便记录所以来的模块的版本号
3. 使得项目的分享更为简单
package.json
文件内容:(注:必须遵从json格式)
{
//name和version是必要字段
"name": "my-colors-project",
"version": "0.01",
//当别人使用require('???')时,为模块定义一个入口
"main": "./index",
//定义依赖的模块
"dependencies": {
"colors": "0.5.0"
}
}