赞
踩
Node.js 是一个能够在服务器端运行 JavaScript 的开放源代码、跨平台 JavaScript 运行环境。Node.js 由 Node.js 基金会持有和维护,并与 Linux 基金会有合作关系。Node.js 采用 Google 开发的 V8 运行代码,使用事件驱动、非阻塞和异步输入输出模型等技术来提高性能,可优化应用程序的传输量和规模。这些技术通常用于数据密集的即时应用程序。
Node.js 大部分基本模块都用 JavaScript 语言编写。在 Node.js 出现之前,JavaScript 通常作为客户端程序设计语言使用,以 JavaScript 写出的程序常在用户的浏览器上运行。Node.js 的出现使 JavaScript 也能用于服务端编程。Node.js 含有一系列内置模块,使得程序可以脱离 Apache HTTP Server 或 IIS,作为独立服务器运行。
我们从 Node.js 的特点中可以知道 Node.js 擅长处理 I/O,不善于计算(单线程的缺点),因此 Node.js 适用于:当应用程序需要处理大量并发的 I/O,而在向客户端发出响应之前,应用程序内部并不需要进行非常复杂的处理的时候,Node.js 也非常适合与 Web socket 配合,开发长连接的实时交互应用程序。比如:聊天室,博客系统,考试系统等。
NodeJs中文网: http://nodejs.cn/download/
NPM是包管理工具,NPM 是随同 Node.js 一起安装的包管理工具。因此当我们安装好 Node.js 的时候,也安装好了 NPM。NPM 是一个命令行工具,用于从 NPM Registry 中下载、安装 Node.js 程序,同时解决依赖问题。
查看Node.js版本:
node -v
查看系统中 NPM 版本:
npm -v
Node.js REPL(Read Eval Print Loop:交互式解释器)表示一个电脑的环境,类似 Window 系统的终端或 Unix/Linux shell,我们可以在终端中输入命令,并接收系统的响应。我们可以用来执行 JavaScript 代码。
启动Node终端:
node
然后我们就可以在 > 后输入简单的表达式,并按下回车键来显示代码运行结果。
在 JavaScript 中全局对象通常是 window,而在 Node.js 中全局对象是 global。所有全局变量(除了 global 本身以外)都是 global 对象的属性,我们可以直接访问到 global 的属性。
按照 ECMAScript 的定义,满足以下条件的变量是全局变量:
注:当你定义一个全局变量的时候,这个变量同时也会成为全局对象的属性。在 Node.js 中你不可能在最外层定义变量,因为所有用户代码都是属于当前模块的,而模块本身不是最外层上下文。定义变量一定要使用 var 关键字,因为全局变量会污染命名空间。
__filename : 表示当前正在执行的脚本的文件名。它将输出文件所在位置的绝对路径,且和命令行参数所指定的文件名不一定相同。
__dirname : 表示当前执行脚本所在的目录。
setTimeout(cb, ms) 全局函数在指定的毫秒(ms)数后执行指定函数(cb),只执行一次函数。
function foo() {
console.log("Hello, syl!");
}
// 三秒后执行以上函数
setTimeout(foo, 3000);
function foo() {
console.log("Hello, syl!");
}
// 三秒后执行以上函数
var t = setTimeout(foo, 3000);
// 清除定时器
clearTimeout(t);
function foo() {
console.log("Hello, syl!");
}
// 三秒后执行以上函数
var t = setInterval(foo, 3000);
// 清除定时器
clearInterval(t);
Node.js 创建第一个应用之前,我们先来看看 Node.js 应用由哪几部分组成:
新建一个名为 server.js 的文件:
var http = require("http"); // 加载 http 模块,并将实例化的 HTTP 赋值给变量 http
http
.createServer(function (request, response) {
// 发送 HTTP 头部
// HTTP 状态值: 200 : OK
// 内容类型: text/plain
response.writeHead(200,
{ "Content-Type": "text/plain" });
response.end("Hello World\n"); // 发送响应数据 "Hello World"
})
.listen(8080);
// 终端打印如下信息
console.log("Server running at http://127.0.0.1:8080/");
以上代码我们完成了一个可以工作的 HTTP 服务器。如果在本地计算机使用 node server.js 命令,你可以直接在浏览器中访问 http://127.0.0.1:8080/,你会看到一个写着 "Hello World"的网页。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。