美文网首页我爱编程
前端学习回顾-3/Node.js入门

前端学习回顾-3/Node.js入门

作者: joker731 | 来源:发表于2018-03-29 10:08 被阅读27次

    程序员要快速学新知识就得按照CRM /抄/运行/修改/

    • node.js用的是commonjs模块

    • assert 模块提供了断言测试的函数,用于测试不变式。

    • (ES6) 引入 TypedArray 之前,JavaScript 语言没有读取或操作二进制数据流的机制。 Buffer 类被引入作为 Node.js API 的一部分,使其可以在 TCP 流或文件系统操作等场景中处理二进制数据流。

    • child_process 模块提供了衍生子进程的功能,它与 popen(3) 类似,但不完全相同。 这个功能主要由 child_process.spawn() 函数提供

    • Node.js在单个线程中运行单个实例。 用户(开发者)为了使用现在的多核系统,有时候,用户(开发者)会用一串Node.js进程去处理负载任务。

    cluster 模块允许简单容易的创建共享服务器端口的子进程。

    • console 模块提供了一个简单的调试控制台,类似于 Web 浏览器提供的 JavaScript 控制台。
    • crypto 模块提供了加密功能,包含对 OpenSSL 的哈希、HMAC、加密、解密、签名、以及验证功能的一整套封装。使用 require('crypto') 来访问该模块。
    • dgram模块提供了 UDP 数据包 socket 的实现。
    • dns 模块包含两类函数:
      //第一类函数,使用底层操作系统工具进行域名解析,且无需进行网络通信。 这类函数只有一个:dns.lookup()
      // 第二类函数,连接到一个真实的 DNS 服务器进行域名解析,且始终使用网络进行 DNS 查询。 这类函数包含了 dns 模块中除 dns.lookup() 以外的所有函数。 这些函数使用与 dns.lookup() 不同的配置文件(例如 /etc/hosts)。 这类函数适合于那些不想使用底层操作系统工具进行域名解析、而是想使用网络进行 DNS 查询的开发者。
    • Node.js 中运行的应用程序一般会遇到以下四类错误:
    • 标准的 JavaScript 错误:
    • 由底层操作系触发的系统错误,例如试图打开一个不存在的文件、试图通过一个已关闭的 socket 发送数据等。
    • 由应用程序代码触发的用户自定义的错误。
    • 断言错误是错误的一个特殊类别,每当 Node.js 检测到一个不应该发生的异常逻辑时触发。 这类错误通常由 assert 模块引起。所有由 Node.js 引起的 JavaScript 错误与系统错误都继承自或实例化自标准的 JavaScript <Error> 类,且保证至少提供类中的属性。

    • 大多数 Node.js 核心 API 都采用惯用的异步事件驱动架构,其中某些类型的对象(触发器)会周期性地触发命名事件来调用函数对象(监听器)。

    文件系统

    • 文件 I/O 是对标准 POSIX 函数的简单封装。 通过 require('fs') 使用该模块。 所有的方法都有异步和同步的形式。
      //异步方法的最后一个参数都是一个回调函数。 传给回调函数的参数取决于具体方法,但回调函数的第一个参数都会保留给异常。 如果操作成功完成,则第一个参数会是 null 或 undefined。
      //当使用同步方法时,任何异常都会被立即抛出。 可以使用 try/catch 来处理异常,或让异常向上冒泡。
    • 要使用 HTTP 服务器与客户端,需要 require('http')。
    • HTTPS 是 HTTP 基于 TLS/SSL 的版本。在 Node.js 中,它被实现为一个独立的模块。
    • Node.js 有一个简单的模块加载系统。 在 Node.js 中,文件和模块是一一对应的(每个文件被视为一个独立的模块)。
    • net 模块提供了创建基于流的 TCP 或 IPC 服务器(net.createServer())和客户端(net.createConnection()) 的异步网络 API。
    • os 模块提供了一些操作系统相关的实用方法。
    • path 模块提供了一些工具函数,用于处理文件与目录的路径。
    • process 对象是一个全局变量,它提供当前 Node.js 进程的有关信息,以及控制当前 Node.js 进程。 因为是全局变量,所以无需使用 require()。
    • querystring 模块提供了一些实用函数,用于解析与格式化 URL 查询字符串。
    • repl 模块提供了一种“读取-求值-输出”循环(REPL)的实现,它可作为一个独立的程序或嵌入到其他应用中。
    • require('readline') 模块提供了一个接口,用于从可读流(如 process.stdin)读取数据,每次读取一行。
    • 流(stream)在 Node.js 中是处理流数据的抽象接口(abstract interface)。 stream 模块提供了基础的 API 。使用这些 API 可以很容易地来构建实现流接口的对象。
      Node.js 提供了多种流对象。 例如, HTTP 请求process.stdout 就都是流的实例。
      流可以是可读的、可写的,或是可读写的。所有的流都是 EventEmitter 的实例。
    • string_decoder 模块提供了一个 API,用于把 Buffer 对象解码成字符串,但会保留编码过的多字节 UTF-8 与 UTF-16 字符。
    • timer 模块暴露了一个全局的 API,用于在某个未来时间段调用调度函数。 因为定时器函数是全局的,所以使用该 API 无需调用 require('timers')

    Node.js 中的计时器函数实现了与 Web 浏览器提供的定时器类似的 API,除了它使用了一个不同的内部实现,它是基于 Node.js 事件循环构建的。

    • tls 模块是对安全传输层(TLS)及安全套接层(SSL)协议的实现,建立在OpenSSL的基础上。
    • 终端
      //tty 模块提供了 tty.ReadStream 类和 tty.WriteStream 类。
    • url 模块提供了一些实用函数,用于 URL 处理与解析。
    • util 模块主要用于支持 Node.js 内部 API 的需求。 大部分实用工具也可用于应用程序与模块开发者。
    • v8 模块暴露了特定于V8版本内置到 Node.js 二进制文件中的API.
    • vm 模块提供了一系列 API 用于在 V8 虚拟机环境中编译和运行代码。
    • zlib模块提供通过 Gzip 和 Deflate/Inflate 实现的压缩功能

    相关文章

      网友评论

        本文标题:前端学习回顾-3/Node.js入门

        本文链接:https://www.haomeiwen.com/subject/joklcftx.html