资讯专栏INFORMATION COLUMN

初识Node.js

lk20150415 / 2667人阅读

摘要:一旦替换已经完成,该模块将被完全弃用。用作错误处理事件文件,由在标准功能上的简单包装器提供所有模块都提供这些对象。

Node.js简介 Node 定义

Node.js是一个建立在Chrome v8 引擎上的javascript运行时环境

Node 特点

异步事件驱动

node.js使用回调函数的方式来处理阻塞事件,node.js维护一个线程池,当遇到阻塞事件时,就从线程池中取出一个线程来执行阻塞事件,然后执行回调函数,线程归还线程池。

非阻塞IO

单线程

可以通过 child_process.fork(modulePath, args) API 实现多个线程

HTTP 在Node.js中是一等公民,Node.js非常适合Web应用

Node 架构

V8

Google开源的高性能javascript引擎,用作解释和执行javascript

libuv

高性能的事件驱动程序库,对Windows和Unix的一些底层平台特性进行了封装

C/C++组件库(c-ares http parser Open SSL Zlib等)

提供了对系统底层访问的功能

Node.js API

Node.js 提供使用的API

Node.js Bindings

胶水代码,将c/c++类库接口暴露给javascript

C/C++ Addons

动态链接对象,用于在Node.js和javascript以及C/C++之间提供接口

windows下Node安装目录结构

Node安装目录

npm modules目录

Node API概括(v6.10.2) Assertion Testing

断言测试

Buffer

操作二进制流

C/C++ Addons

动态链接对象,用于在Node.js和javascript以及C/C++之间提供接口

Child Processes

child_process模块提供了以与popen(3)相似但不完全相同的方式生成子进程的功能。 该功能主要由child_process.spawn()函数提供

Cluster

Node.js的单个实例在单个线程中运行。 为了利用多核系统,用户有时会想要启动一个Node.js进程的集群来处理负载。
Cluster 模块允许您轻松创建所有共享服务器端口的子进程

Command Line Options

Node.js配有各种CLI选项。 这些选项会公开内置调试,执行脚本的多种方式以及其他有用的运行时选项。

Console

控制台模块提供了一个简单的调试控制台,类似于Web浏览器提供的JavaScript控制台机制

Crypto

加密模块提供加密功能,其包括用于OpenSSL的哈希,HMAC,加密,解密,签名和验证功能的一组包装器。

Debugger

Node.js包括可通过基于TCP协议和内置调试客户端访问的进程外调试实用程序。 要使用它,启动带有调试参数的Node.js,后跟脚本的路径进行调试; 将显示提示,指示调试器成功启动

DNS

使用底层操作系统设施执行名称解析的功能

Domain

模块将被弃用。一旦替换API已经完成,该模块将被完全弃用。

Errors

用作错误处理

Events

Node.js事件API

File System

文件I/OAPI,由在标准POSIX功能上的简单包装器提供

Globals

所有模块都提供这些对象。 这些对象中的一些实际上并不在全局范围内,而在模块范围内

HTTP

Node.js Http接口,支持很多传统协议

HTTPS

HTTPS是TLS/SSL上的HTTP协议,在Node.js中多带带使用一个模块来实现该协议

Modules

Node.js的简单模块加载系统

Net

异步网络包装器,用于实现服务端和客户端的网络通信的功能

OS

OS模块提供了一些与操作系统相关的方法

Path

提供文件或者路径处理的方法

Process

提供Node.js的进程处理以及进程信息获取等API,Process是全局的,不需要使用require()加载

Punycode

将被废弃,不建议使用

Query Strings

用于提供格式化和解析URL字符串的API

Readline

readline模块提供了从Readable流读取数据的接口

REPL

repl模块提供Read-Eval-Print-Loop(REPL)实现,该实现既可以作为独立程序使用,也可以包含在其他应用程序中

Stream

Stream 模块用于实现数据流处理的抽象接口,它提供了一个API,可以轻松构建流处理对象

String Decoder

提供API将buffer对象编码成字符串

Timers

定时器

TLS/SSL

tls模块提供了构建在OPENSSL上的传输层安全协议(TLS)和和安全套接层协议(SSL)

TTY

tty模块提供了tty.ReadStream和tty.WriteStream类

UDP/Datagram

dgram模块提供UDP数据报套接字的实现

URL

提供URL处理的API

Utilities

主要提供内部程序使用的基本方法,但是也可以被外部访问

V8

v8模块公开了特定于Node.js二进制内置的V8版本的API

VM

vm模块提供用于在V8虚拟机上下文中编译和运行代码的API

ZLIB

zlib模块提供使用Gzip和Deflate / Inflate等形式压缩功能

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/82689.html

相关文章

  • TypeScript 初识 - 内置对象

    摘要:自带的内置对象都可以直接在中当作定义好的类型。的内置对象标准提供了常用的内置对象等。在不需要额外引入就可以直接使用这些内置对象用写不是内置对象的一部分,想要写时提示,需要引入第三方声明文件 JavaScript 自带的内置对象都可以直接在 TypeScript 中当作定义好的类型。 TypeScript 核心库的定义文件 TypeScript 核心库的定义文件定义了所有浏览器环境需要用...

    lordharrd 评论0 收藏0
  • Node.js学习之路03——Buffer类初识

    摘要:然而,在处理流或文件流时,必须要处理二进制数据。因此,在中,定义了一个类,该类用来创建一个专门存放二进制数据的缓存区。因为在计算字符串的长度时,以位子作为一个单位,而在计算缓存区的长度时,以字节作为一个单位。 buffer对象 1. 什么是buffer 在客户端Javascript脚本代码中,对于二进制数据没有提供一个很好的支持。然而,在处理TCP流或文件流时,必须要处理二进制数据...

    DobbyKim 评论0 收藏0
  • 那些年初识Angular(1)

    摘要:它包含多个属性,这些属性值叫做元数据。会根据元数据渲染组件,并执行组件逻辑。元数据会告诉图和将这个类处理成一个组件。元数据这段代码表示这个组件可以通过这个标签来调用。 那些年初识Angular 由于工作需要初识了Angular,由于个人在学习一门新语言的时候喜欢买一本相关的书籍自己钻研,还记得自己的第一本Angular书籍是关于Angular2的学习,自此正式踏入Angular的学习。...

    Flink_China 评论0 收藏0
  • 初识 CoffeeScript

    摘要:而造成一些莫名其妙的错误。写一个文件打印出编译命令会在同级目录下生成一个同名的文件。将包裹在了一个匿名函数当中,并用调用,这样使得代码隔离,不会和外部混淆。其中的表示的就是为了方便使用,可以使用双冒号来替代。 很早就知道这CoffeeScript一门语言,但是一直没有机会系统的学习下,那天趁在公司没有什么要紧的项目做,就根据CoffeeScript首页的例子学了一下。 引用Coffe...

    骞讳护 评论0 收藏0
  • 初识 Node Stream

    摘要:是在完成处理数据块后需要调用的函数。这是写数据成功与否的标志。若要发出故障信号,请用错误对象调用回调函数。双工流的可读性和可写性操作完全独立于彼此。这仅仅是将两个特性组合成一个对象。 showImg(https://segmentfault.com/img/remote/1460000013228112?w=533&h=300); Streams 是一个数据集——和数组、字符串一样。不...

    fobnn 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<