nodejs系列教程(一)

nodejs教程,适合有一定nodejs基础的小伙伴

用法示例

使用express启动一个web服务

1
2
3
4
5
6
7
8
9
10
11
12
// index.js
const http = require('http');
const hostname = '127.0.0.1';
const port = 3000;
const server = http.createServer((req, res) => {
res.statusCode = 200;
res.setHeader('Content-Type', 'text/plain');
res.end('Hello World\n');
});
server.listen(port, hostname, () => {
console.log(`Server running at http://${hostname}:${port}/`);
});

全局对象

方法和属性 说明 示例
Buffer 处理二进制数据
__dirname 当前执行脚本所在的目录
__filename 当前所执行脚本的文件名
global 全局命名空间对象(只属于当前模块下)
process 进程对象
module 当前模块的引用
exports module.exports 的快捷引用方式
require 引入模块(只属于当前模块下)
require.cache 模块在引入时会缓存到该对象中
require.resolve() 不会加载模块,只返回解析后的文件名
console 打印stdout和stderr
setTimeout/clearTimeout 新增/删除定时器
setInterval/clearInterval 新增/删除定时器
setImmediate 微任务

Console类

可用于创建具有可配置的输出流的简单记录器。

1
2
3
// 其他用法
const Console = require('console').Console;
const Console = console.Console;

console用法等于new Console(process.stdout, process.stderr);,通常是异步

1
2
3
4
5
6
7
8
9
10
11
// 常见应用(重写了浏览器的console)
console.log
console.info
console.error
console.warn
console.dir
console.trace
console.assert
console.time
console.timeEnd

定时器(Timers)

require('timers')
常用API: setTimeout,clearTimeout,setInterval,clearInterval,setImmediate,clearImmediate,ref,unref

模块(modules)

参考文档

nodejs基础教程
nodejs Api文档
nodejs中文文档