一、hello world
1、引入 required 模块
2、创建服务器
3、接收请求与响应请求
var http = require('http'); // 载入http模块
http.createServer(function (request, response) { // 发送 HTTP 头部
// HTTP 状态值: 200 : OK
// 内容类型: text/plain
response.writeHead(, {'Content-Type': 'text/plain'}); // 发送响应数据 "Hello World"
response.end('Hello World\n');
}).listen(); // 监听8888端口 // 终端打印如下信息
console.log('Server running at http://127.0.0.1:8888/');
打开浏览器访问 http://127.0.0.1:8888/,触发响应
二、运行机制
Node.js 是单进程单线程应用程序,但通过事件和回调支持并发。
我们可以通过引入 events 模块,并通过实例化 EventEmitter 类来绑定和监听事件
// 引入 events 模块
var events = require('events'); // 创建 eventEmitter 对象
var eventEmitter = new events.EventEmitter(); // 创建事件处理程序
var connectHandler = function connected() {
console.log('连接成功。');
} // 绑定 connection 事件处理程序
eventEmitter.on('connection', connectHandler); // 触发 connection 事件
eventEmitter.emit('connection');
三、模块系统
模块是Node.js 应用程序的基本组成部分,文件和模块是一一对应的。换言之,一个 Node.js 文件就是一个模块。
Node.js 提供了 exports 和 require 两个对象,其中 exports 是模块公开的接口,require 用于从外部获取一个模块的接口。
1、创建模块(hello.js)
exports.world = function() {
console.log('Hello World');
}
2、使用模块(main.js)
var hello = require('./hello');
hello.world();
四、全局对象
在浏览器 JavaScript 中,通常 window 是全局对象, 而 Node.js 中的全局对象是 global,所有全局变量(除了 global 本身以外)都是 global 对象的属性。
__filename 当前正在执行的脚本的文件名
__dirname 当前执行脚本所在的目录
setTimeout(cb, ms)
clearTimeout(t)
setInterval(cb, ms)
console 控制台
process Node.js 进程管理对象,提供了一个与操作系统的简单接口
// 输出当前目录
console.log('当前目录: ' + process.cwd()); // 输出当前版本
console.log('当前版本: ' + process.version); // 输出内存使用情况
console.log(process.memoryUsage());
参考:菜鸟教程