• Nodejs核心模块


    (1)全局对象

    在浏览器JS中,通常window是全局对象,而nodejs中的全局对象是global,所有全局变量都是global对象的属性。

    在nodejs中能够直接访问到的对象通常都是global的属性,如console、 process等

    全局对象与全局变量

    global最根本的作用是作为全局变量的宿主。

    全局变量的条件:

    在最外层定义的变量;全局对象的属性;隐式定义的变量(未定义直接赋值的变量)

    定义一个全局变量,同时也是全局对象的属性。

    永远使用var定义变量以避免引入全局变量,因为全局变量会污染命名空间,提高代码的耦合风险。

    process

    process是一个全局变量,即global对象的属性。它用于描述nodejs进程状态的对象,提供一个与操作系统的简单接口。

    process.argv是命令行参数数组,第一个元素是node, 第二个是脚本文件名,从第三个开始每个元素是一个运行参数。

    console.log(process.argv);

    process.stdout是标准输出流。

    process.stdin是标准输入流。

    process.nextTick(callback)的功能是为事件循环设置一项任务,会在下次事件循环调响应时调用callback

    还有process.platform, process.pid, process.execPath, process.memoryUsage()等。posix进程信号响应机制。

    console

    用于提供控制台标准输出。

    console.log()

    console.error()

    console.trace()

    (2)常用工具util

    提供常用函数的集合,用于弥补核心js的功能过于精简的不足。

    util.inherits

    实现对象间原型继承的函数。js面向对象特性是基于原型的。

    util.inspect

    将任意对象转换为字符串的方法。

    util.isArray(), util.isRegExp(), util.isDate(), util.isError(), util.format(), util.debug()等

    (3)事件机制events

    最重要的模块,因为nodejs本身架构就是事件式的,提供了唯一的接口,堪称nodejs事件编程的基石。

    事件发射器

    events模块只提供一个对象events.EventEmitter.它核心就是事件发射与事件监控器功能的封装。

    EventEmitter.on(event,listener)

    EventEmitter.emit(event, [arg1], [arg2], ..)

    EventEmitter.once(event, listener)

    EventEmitter.removeListener(event,listener)

    EventEmitter.removeAllListeners([event])

    error事件

    遇到异常的时候,通常会发射error事件。

    继承EventEmitter

    不会直接使用EventEmitter, 而是在对象中继承它。包括fs, net,  http在内,只要是支持事件响应的核心模块都是EventEmitter的子类。

    (4)文件系统访问fs

    文件操作的封装,提供了文件的读取、写入、更名、删除、遍历目录、链接等posix文件系统操作。有异步和同步两个版本。

    fs.readFile

    fs.readFileSync

    fs.open

    fs.read

    (5)HTTP服务器与客户端

    http.Server

    request

    connection

    close

    http.ServerRequest

    data

    end

    close

    获取GET请求内容

    获取POST请求内容

    httpServerResponse

    response.writeHead(stausCode, [headers]);

    response.write()

    response.end()

    HTTP客户端

    http.request和http.get, 功能是作为客户端向HTTP服务器发起请求。

    http.request(options, callback)

    host

    port

    method

    path

    headers

    callback传递一个参数,为http.ClientResponse的实例。

    http.request返回一个http.ClientRequest的实例。

  • 相关阅读:
    数据结构与算法的思维导图
    第九周知识总结
    第八周知识总结
    作业七:问卷调查

    图的基本概念及基本术语
    二叉树

    队列

  • 原文地址:https://www.cnblogs.com/luyuan/p/3867335.html
Copyright © 2020-2023  润新知