Node.js的入门
Node.js是什么?
Node.js是建立在谷歌Chrome的JavaScript引擎(V8引擎)的Web应用程序框架。 它的最新版本是:v0.12.7(在编写本教程时的版本)。Node.js在官方网站的定义文件内容如下:
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自带运行时环境可在Javascript脚本的基础上可以解释和执行(这类似于JVM的Java字节码)。这个运行时允许在浏览器以外的任何机器上执行JavaScript代码。由于这种运行时在Node.js上,所以JavaScript现在可以在服务器上并执行。
Node.js还提供了各种丰富的JavaScript模块库,它极大简化了使用Node.js来扩展Web应用程序的研究与开发。
Node.js特性
Node.js库的异步和事件驱动的API全部都是异步就是非阻塞。它主要是指基于Node.js的服务器不会等待API返回的数据。服务器移动到下一个API调用,Node.js发生的事件通知机制后有助于服务器获得从之前的API调用的响应。
非常快的内置谷歌Chrome的V8 JavaScript引擎,Node.js库代码执行是非常快的。
单线程但高度可扩展 - Node.js使用具有循环事件单线程模型。事件机制有助于服务器在一个非阻塞的方式响应并使得服务器高度可扩展,而不是创建线程限制来处理请求的传统服务器。Node.js使用单线程的程序,但可以提供比传统的服务器(比如Apache HTTP服务器)的请求服务数量要大得多。
没有缓冲 - Node.js的应用从来不使用缓冲任何数据。这些应用只是输出数据在块中。
许可证协议 - Node.js 在 MIT 协议 下发布
在哪里可以使用Node.js?
以下是Node.js证明自己完美的技术的合作伙伴的领域。
I/O 绑定应用程序
数据流应用
数据密集型实时应用(DIRT)
JSON API的应用程序
单页面应用
在哪些地方不要使用Node.js?
不建议使用Node.js的就是针对CPU密集型应用。
Node.js - 环境安装配置
如果愿意安装设置Node.js环境,需要计算机上提供以下两个软件:
一、文本编辑器
二、Node.js二进制安装包
Node.js 运行时
编写源文件中的源代码只需知道了解JavaScript。Node.js解释器将用于解释和执行JavaScript代码。
Node.js的发行版以二进制安装在SunOS,Linux,Mac OS X和Windows的32位(386)和64位(AMD64)的x86处理器架构操作系统。
以下部分将指导如何将Node.js的二进制分发版安装在各种操作系统上。
在Windows上安装Node.js(本教程中使用)
使用MSI文件,并按照提示安装node.js,默认情况下,安装程序将 Node.js 发行到 C:\Program Files\nodejs. 但这里我们需要修改安装路径到:D:\yiibai_worksp\nodejs,并将 D:\yiibai_worksp\nodejs 目录添加到Window系统的PATH环境变量中。重新启动打开命令提示符,以使更改生效。
第一步:双击下载的 “node-v0.12.7-x64.msi" 文件,出现提示安装界面:
第二步:选择安装目录,这里安装在目录 D:\yiibai_worksp\nodejs 中,如下图:
第三步:选择安装的模块和功能,这里全部安装,并添加到系统环境变量,如下图所示:
最后一步:安装完成!验证安装:执行文件
创建一个js文件名为test.js 在 D:\>yiibai_worksp\nodejs.
File: test.js
console.log("Hello World")
现在运行test.js看到的结果:
D:\yiibai_worksp\nodejs> node test.js
Node.js - 第一个应用程序
在使用 Node.js 创建 Hello World ! 应用程序之前, 让我们看看Node.js的应用程序的组成部分。Node.js应用程序由以下三个重要部分组成:
导入所需模块: 使用require指令来加载javascript模块
创建一个服务器: 服务器这将听监听在Apache HTTP服务器客户端的请求。
读取请求并返回响应: 在前面的步骤中创建的服务器将响应读取由客户机发出的HTTP请求(可以是一个浏览器或控制台)并返回响应。
创建Node.js应用
步骤 1:导入所需的包
使用require指令来加载 HTTP 模块。var http = require("http")
http.createServer(function (request, response) { // HTTP Status: 200 : OK // Content Type: text/plain response.writeHead(200, {'Content-Type': 'text/plain'}); // send the response body as "Hello World" response.end('Hello World\n'); }).listen(8081); // console will print the message console.log('Server running at http://127.0.0.1:8081/');
步骤 3: 创建一个 js 文件在 helloworld.js 在 D:\>yiibai_worksp.
File: helloworld.js
var http = require("http") http.createServer(function (request, response) { response.writeHead(200, {'Content-Type': 'text/plain'}); response.end('Hello World\n'); }).listen(8081); console.log('Server running at http://127.0.0.1:8081/');
现在运行 helloworld.js 看到结果:
D:\yiibai_worksp\nodejs>node helloworld.js
验证输出,服务器应用已经启动!
Server running at http://127.0.0.1:8081/