官网描述:
Node.js is a platform built on Chrome's JavaScript runtime for easily building fast, scalable network applications.
Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient,
perfect for data-intensive real-time applications that run across distributed devices.
(译)Node.js 是一个平台,建立在 Chrome JavaScript 运行时之上,为了更容易建立快速、可伸缩的网络应用。
Node.js使用事件驱动,非阻塞的 I/O 模式,这使得他是轻量而高效的,能够在分布设备上完美运行高数据吞吐的实时应用。
详细介绍(来自百科):
Node.js是一个Javascript运行环境(runtime)。
V8引擎执行Javascript的速度非常快,性能非常好;实际上它是对Google V8引擎(应用于Google Chrome浏览器)进行了封装。
Node.js对一些特殊用例进行了优化,提供了替代的API,使得V8在非浏览器环境下运行得更好。
例如,在服务器环境中,处理二进制数据通常是必不可少的,但Javascript对此支持不足,因此,V8.Node增加了Buffer类,方便并且高效地 处理二进制数据。
V8引擎本身使用了一些最新的编译技术。
这使得用Javascript这类高级语言编写出来的代码与用C这类高级语言写出来的代码性能相差无几,却节省了开发成本。
对性能的苛求是Node.js的一个关键因素。
Javascript是一个事件驱动语言,Node.js利用了这个优点,编写出可扩展性高的服务器。
Node.js采用了一个称为“事件循环(event loop)”的架构,使得编写可扩展性高的服务器变得既容易又安全。提高服务器性能的技巧有多种多样。
Node.js选择了一种既能提高性能,又能减低开发复杂度的架构。并发编程通常很复杂且布满地雷。Node.js绕过了这些,但仍提供很好的性能。
Node.js采用一系列“非阻塞”库来支持事件循环的方式。本质上就是为文件系统、数据库之类的资源提供接口。
当你向文件系统发送一个请求时,无需等待硬盘(寻址并检索文件),硬盘准备好的时候非阻塞接口会通知Node.js。该模型以可扩展的方式简化了对慢资源的访问, 直观,易懂。
虽然让Javascript运行于服务器端不是Node.js的独特之处,但却是其强大功能。
下载安装:
点击http://nodejs.org/,进入官网,下载windows版本:http://nodejs.org/dist/v0.6.6/node-v0.6.6.msi
下载完成后,直接点击安装:
默认安装目录:C:\Program Files\nodejs
安装完成,不生成快捷方式,手动去安装目录查看即可;
安装完成后目录下,一个node.exe\npm.cmd\node_modules(文件夹);
安装包会自动把安装路径写入环境变量path中,可进行全局访问;
安装测试:
打开cmd命令窗口,输入node,回车;
cmd窗口会出现”>”输入".help”,回车;
> .help
.break Sometimes you get stuck, this gets you out
.clear Break, and also clear the local context
.exit Exit the repl
.help Show repl options
.load Load JS from a file into the REPL session
.save Save all evaluated commands in this REPL session to a file
恭喜您基本安装成功!
开始一个HelloWorld:
在D盘建立一个文件夹:Nodejs
在些文件夹下新建一个文本文件,并输入
var http = require('http'); http.createServer(function (request, response) { // 发送 HTTP 头部
// HTTP 状态值: 200 : OK
// 内容类型: text/plain
response.writeHead(200, {'Content-Type': 'text/plain'}); // 发送响应数据 "Hello World"
response.end('Hello World\n');
}).listen(8888); // 终端打印如下信息
console.log('Server running at http://127.0.0.1:8888/');
保存,并重命名文件为"server.js”;
解说:
我们使用 require 指令来载入 http 模块,并将实例化的 HTTP 赋值给变量 http,
接下来我们使用 http.createServer() 方法创建服务器,并使用 listen 方法绑定 8888 端口。 函数通过 request, response 参数来接收和响应数据。
以上代码我们完成了一个可以工作的 HTTP 服务器。
使用 node 命令执行以上的代码:
node server.js
Server running at http://127.0.0.1:8888/
接下来,打开浏览器访问 http://127.0.0.1:8888/,你会看到一个写着 "Hello World"的网页。
分析Node.js 的 HTTP 服务器:
- 第一行请求(require)Node.js 自带的 http 模块,并且把它赋值给 http 变量。
- 接下来我们调用 http 模块提供的函数: createServer 。这个函数会返回 一个对象,这个对象有一个叫做 listen 的方法,这个方法有一个数值参数, 指定这个 HTTP 服务器监听的端口号。