1、全局对象
JavaScript中有一个特殊的对象,称为全局对象(Global Object),它及其所有属性都可以在程序的任何地方访问,即全局变量。在浏览器JavaScript中,通常window是全局对象,而NodeJs中的全局对象是global,所有全局变量(除了global本身以外)都是global对象的属性。
process
process是一个全局变量,即global对象的属性。它用于描述当前NodeJs进程状态的对象,提供了一个与操作系统的简单接口。
- process.argv是命令行参数数组,第一个元素是node,第二个元素是脚本文件名,从第三个元素开始每个元素是一个运行参数。
- process.stdout是标准输出流,通常我们使用的console.log()向标准输出打印字符,而process.stdout.write()函数提供了更底层的接口。
- process.stdin是标准输入流,初始时它是被暂停的,要想从标准输入读取数据,你必须恢复流,并手动编写流的事件响应函数。
- process.nextTick(callback)的功能是为事件循环设置一项任务,NodeJs会在下次事件循环调响应时调用callback。
// debug.js
console.log(process.argv);
process.stdin.resume();
process.stdin.on("data", function (data) {
process.stdout.write(data.toString());
});
__dirname是node.js中的一个全局变量,它指向当前执行脚本所在的目录。
2、常用工具util
util是一个Node.js核心模块,提供常用函数的集合。
util.inherits
- util.inherits(constructor, superConstructor)是一个实现对象间原型继承的函数。
util.inspect
- util.inspect(object,[showHidden],[depth],[colors])是一个将任意对象转换为字符串的方法,通常用于调试和错误输出。它至少接受一个参数object,即要转换的对象。
util还提供了util.isArray()、util.isRegExp()、util.isDate()、util.isError()四个类型测试工具,以及util.format()、util.debug()等工具。
参考:NodeJs核心模块
3、Events模块
var EventEmitter = require('events').EventEmitter; // 引入事件模块
var event = new EventEmitter(); // 实例化事件模块
// 注册事件(customer_event)
event.on('customer_event', function() {
console.log('customer_event has be occured : ' + new Date());
});
event.emit('customer_event'); // 发射(触发)事件
4、fs文件系统模块
5、Http 模块
http 模块主要用于搭建 http 服务,处理用户请求信息等
使用 http 请求
const http = require('http');
// 使用发送http请求
const options = {
protocol: 'http:',
hostname: 'www.baidu.com',
port: '80',
method: 'GET',
path: '/img/baidu_85beaf5496f291521eb75ba38eacbd87.svg'
};
let responseData = '';
const request = http.request(options, response => {
console.log(response.statusCode); // 获取链接请求的状态码
response.setEncoding('utf8');
response.on('data', chunk => {
responseData += chunk;
});
response.on('end', () => {
console.log(responseData);
});
});
request.on('error', error => {
console.log(error);
});
request.end();
使用 http 创建服务
// 使用http创建服务器
const port = 3000;
const host = '127.0.0.1';
const server = http.createServer();
server.on('request', (request, response) => {
response.writeHead(200, {
'Content-Type': 'text/plain'
});
response.end('Hello World\n');
});
server.listen(port, host, () => {
console.log(`Server running at http://${host}:${port}/`);
});
网友评论