国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Node.js API參考文檔(目錄)

stormzhang / 2236人閱讀

摘要:參考文檔是基于的引擎構(gòu)建的運(yùn)行時(shí)。關(guān)于文檔用法和示例斷言測(cè)試穩(wěn)定性穩(wěn)定模塊提供了一組簡(jiǎn)單的斷言測(cè)試,可用于測(cè)試不變量。存在和模式,但建議僅使用模式。類在全局作用域內(nèi),因此不太可能需要使用。以下所有示例均可供下載,可用作擴(kuò)展庫(kù)的起點(diǎn)。

Node.js v11.5.0 API參考文檔

Node.js?是基于Chrome的V8 JavaScript引擎構(gòu)建的JavaScript運(yùn)行時(shí)。

關(guān)于文檔

用法和示例

斷言測(cè)試
穩(wěn)定性:2 - 穩(wěn)定

assert模塊提供了一組簡(jiǎn)單的斷言測(cè)試,可用于測(cè)試不變量。

存在strictlegacy模式,但建議僅使用strict模式。

有關(guān)使用的相等比較的更多信息,請(qǐng)參閱MDN關(guān)于相等比較和相同性的指南。

assert.AssertionError類

strict模式

legacy模式

assert(value[, message])

assert.deepEqual(actual, expected[, message])

assert.deepStrictEqual(actual, expected[, message])

assert.doesNotReject(asyncFn, error)

assert.doesNotThrow(fn, error)

assert.equal(actual, expected[, message])

assert.fail([message])

assert.fail(actual, expected[, message[, operator[, stackStartFn]]]) 棄用

assert.ifError(value)

assert.notDeepEqual(actual, expected[, message])

assert.notDeepStrictEqual(actual, expected[, message])

assert.notEqual(actual, expected[, message])

assert.notStrictEqual(actual, expected[, message])

assert.ok(value[, message])

assert.rejects(asyncFn, error)

assert.strictEqual(actual, expected[, message])

assert.throws(fn, error)

異步鉤子
穩(wěn)定性:1 - 實(shí)驗(yàn)

async_hooks模塊提供了一個(gè)API來(lái)注冊(cè)回調(diào),跟蹤Node.js應(yīng)用程序內(nèi)部創(chuàng)建的異步資源的生命周期,它可以使用以下方式訪問(wèn):

const async_hooks = require("async_hooks");

異步資源表示具有關(guān)聯(lián)回調(diào)的對(duì)象,可以多次調(diào)用此回調(diào),例如,net.createServer()中的"connection"事件,或者只是fs.open()中的一次。在調(diào)用回調(diào)之前,也可以關(guān)閉資源,AsyncHook沒(méi)有明確區(qū)分這些不同的情況,但會(huì)將它們表示為資源的抽象概念。

如果使用Worker,則每個(gè)線程都有一個(gè)獨(dú)立的async_hooks接口,每個(gè)線程將使用一組新的異步ID。

Public API

Promise執(zhí)行跟蹤

JavaScript Embedder API

Buffer
穩(wěn)定性:2 - 穩(wěn)定

在引入TypedArray之前,JavaScript語(yǔ)言沒(méi)有用于讀取或操作二進(jìn)制數(shù)據(jù)流的機(jī)制,Buffer類是作為Node.js API的一部分引入的,用于在TCP流、文件系統(tǒng)操作和其他上下文中與八位字節(jié)流進(jìn)行交互。

Buffer類的實(shí)例類似于整數(shù)數(shù)組,但對(duì)應(yīng)于V8堆外部的固定大小的原始內(nèi)存分配,Buffer的大小在創(chuàng)建時(shí)建立,無(wú)法更改。

Buffer類在全局作用域內(nèi),因此不太可能需要使用require("buffer").Buffer

// Creates a zero-filled Buffer of length 10.
const buf1 = Buffer.alloc(10);

// Creates a Buffer of length 10, filled with 0x1.
const buf2 = Buffer.alloc(10, 1);

// Creates an uninitialized buffer of length 10.
// This is faster than calling Buffer.alloc() but the returned
// Buffer instance might contain old data that needs to be
// overwritten using either fill() or write().
const buf3 = Buffer.allocUnsafe(10);

// Creates a Buffer containing [0x1, 0x2, 0x3].
const buf4 = Buffer.from([1, 2, 3]);

// Creates a Buffer containing UTF-8 bytes [0x74, 0xc3, 0xa9, 0x73, 0x74].
const buf5 = Buffer.from("tést");

// Creates a Buffer containing Latin-1 bytes [0x74, 0xe9, 0x73, 0x74].
const buf6 = Buffer.from("tést", "latin1");

Buffer.from(),Buffer.alloc()和Buffer.allocUnsafe()

緩沖區(qū)和字符編碼

緩沖區(qū)和TypedArray

緩沖區(qū)和迭代

Buffer類

buffer.INSPECT_MAX_BYTES

buffer.kMaxLength

buffer.transcode(source, fromEnc, toEnc)

SlowBuffer類 棄用

Buffer常量

C++擴(kuò)展庫(kù)

Node.js擴(kuò)展庫(kù)是動(dòng)態(tài)鏈接的共享對(duì)象,用C++ 編寫(xiě),可以使用require()函數(shù)加載到Node.js中,就像它們是普通的Node.js模塊一樣使用,它們主要用于提供Node.js中運(yùn)行的JavaScript與C/C++庫(kù)之間的接口。

目前,實(shí)現(xiàn)擴(kuò)展庫(kù)的方法相當(dāng)復(fù)雜,涉及多個(gè)組件和API的知識(shí):

V8:Node.js目前用來(lái)提供JavaScript實(shí)現(xiàn)的C++庫(kù),V8提供了創(chuàng)建對(duì)象、調(diào)用函數(shù)等的機(jī)制,V8的API大多記錄在v8.h頭文件(Node.js源代碼樹(shù)中的deps/v8/include/v8.h)中,該文件也可在線獲取。

libuv:實(shí)現(xiàn)Node.js事件循環(huán)的C庫(kù),它工作線程和平臺(tái)的所有異步行為,它還可以作為跨平臺(tái)的抽象庫(kù),為所有主要操作系統(tǒng)提供簡(jiǎn)單的類似POSIX訪問(wèn),以及許多常見(jiàn)的系統(tǒng)任務(wù),例如與文件系統(tǒng)、sockets、定時(shí)器和系統(tǒng)事件的交互。libuv還提供類似并行線程的線程抽象,可用于驅(qū)動(dòng)需要超越標(biāo)準(zhǔn)事件循環(huán)的更復(fù)雜的異步擴(kuò)展庫(kù)。鼓勵(lì)擴(kuò)展庫(kù)作者考慮如何通過(guò)libuv將工作卸載到非阻塞系統(tǒng)操作,工作線程或libuv線程的自定義使用來(lái)避免使用I/O或其他時(shí)間密集型任務(wù)阻止事件循環(huán)。

內(nèi)部Node.js庫(kù),Node.js本身導(dǎo)出了擴(kuò)展庫(kù)可以使用的許多C++ API - 其中最重要的是node::ObjectWrap類。

Node.js包括許多其他靜態(tài)鏈接庫(kù),包括OpenSSL,這些其他庫(kù)位于Node.js源代碼樹(shù)的deps/目錄中,Node.js只故意重新導(dǎo)出libuv、OpenSSL、V8和zlib symbols,并且可以通過(guò)擴(kuò)展庫(kù)在不同的范圍內(nèi)使用,有關(guān)其他信息,請(qǐng)參閱鏈接到Node.js自己的依賴項(xiàng)。

以下所有示例均可供下載,可用作擴(kuò)展庫(kù)的起點(diǎn)。

Hello world

Node.js原生抽象

N-API

擴(kuò)展庫(kù)示例

C/C++插件 - N-API
穩(wěn)定性:2 - 穩(wěn)定

N-API(在字母中發(fā)音為N,后跟API)是用于構(gòu)建原生擴(kuò)展庫(kù)的API,它獨(dú)立于底層JavaScript運(yùn)行時(shí)(前V8),并作為Node.js本身的一部分進(jìn)行維護(hù),此API將是跨Node.js版本的應(yīng)用程序二進(jìn)制接口(ABI)穩(wěn)定版,它旨在將擴(kuò)展庫(kù)與底層JavaScript引擎中的更改隔離開(kāi)來(lái),并允許為一個(gè)主要版本編譯的模塊在Node.js的后續(xù)主要版本上運(yùn)行而無(wú)需重新編譯,ABI穩(wěn)定性指南提供了更深入的解釋。

使用與C++擴(kuò)展庫(kù)一節(jié)中概述的相同方法/工具構(gòu)建/打包擴(kuò)展庫(kù),唯一的區(qū)別是原生代碼使用的API集,不使用V8或Node.js原生抽象API,而是使用N-API中可用的功能。

N-API公開(kāi)的API通常用于創(chuàng)建和操作JavaScript值,概念和操作通常映射到ECMA262語(yǔ)言規(guī)范中指定的想法,API具有以下屬性:

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/99141.html

相關(guān)文章

  • Node.js 文檔目錄

    摘要:文檔是基于的引擎構(gòu)建的運(yùn)行時(shí)。本文檔描述了提供的內(nèi)置模塊,它不記錄社區(qū)提供的模塊。指南指南部分包含有關(guān)技術(shù)功能和性能的長(zhǎng)篇深入文章。 Node.js 文檔 Node.js?是基于Chrome的V8 JavaScript引擎構(gòu)建的JavaScript運(yùn)行時(shí)。 提供以下幾種類型的文檔: API參考文檔 ES6功能 指南 API參考文檔 API參考文檔提供了有關(guān)Node.js中的函數(shù)或?qū)?..

    Kosmos 評(píng)論0 收藏0
  • Node.js API參考文檔(關(guān)于文檔

    摘要:關(guān)于文檔本文檔的目的是從參考和概念的角度全面解釋,每個(gè)部分都描述了內(nèi)置模塊或高級(jí)概念。文檔鏈接到相應(yīng)的手冊(cè)頁(yè)手冊(cè)頁(yè)的簡(jiǎn)稱,描述了系統(tǒng)調(diào)用的工作方式。上一篇參考文檔目錄下一篇用法和示例 關(guān)于文檔 本文檔的目的是從參考和概念的角度全面解釋Node.js API,每個(gè)部分都描述了內(nèi)置模塊或高級(jí)概念。 在適當(dāng)?shù)那闆r下,屬性類型、方法參數(shù)和提供給事件處理程序的參數(shù)將在主題標(biāo)題下方的列表中詳細(xì)說(shuō)明...

    xorpay 評(píng)論0 收藏0
  • SpringBoot非官方教程 | 第十二篇:springboot集成apidoc

    摘要:首先聲明下,是基于注釋來(lái)生成文檔的,它不基于任何框架,而且支持大多數(shù)編程語(yǔ)言,為了系列的完整性,所以標(biāo)了個(gè)題。二準(zhǔn)備工作安裝完安裝它的項(xiàng)目源碼。輸命令輸入目錄輸出目錄是我的工程名。 首先聲明下,apidoc是基于注釋來(lái)生成文檔的,它不基于任何框架,而且支持大多數(shù)編程語(yǔ)言,為了springboot系列的完整性,所以標(biāo)了個(gè)題。 一、apidoc簡(jiǎn)介 apidoc通過(guò)在你代碼的注釋來(lái)生成ap...

    xiaoxiaozi 評(píng)論0 收藏0
  • 【譯文】Node.js官方文檔(Part 1 關(guān)于文檔

    摘要:關(guān)于本文檔本文檔的目的,是全面地解釋的,即可作為參考文檔,同時(shí)也包含了概念的講解。但有的全新的實(shí)驗(yàn)性的,或者存在危險(xiǎn)性的部分則會(huì)被重新設(shè)計(jì)。穩(wěn)定級(jí)別鎖定只會(huì)有安全性能或相關(guān)的修復(fù)。不接受對(duì)此做修改的建議。 關(guān)于本文檔 本文檔的目的,是全面地解釋Node.js的API,即可作為參考文檔,同時(shí)也包含了概念的講解。每個(gè)章節(jié)都描述了一個(gè)內(nèi)置模塊或一個(gè)高階概念(high-level concep...

    svtter 評(píng)論0 收藏0
  • 嘗試造了個(gè)工具類庫(kù),名為 Diana

    摘要:的另一種形式測(cè)試踩坑之路代碼覆蓋率單元測(cè)試的代碼覆蓋率統(tǒng)計(jì),是衡量測(cè)試用例好壞的一個(gè)的方法。 showImg(https://segmentfault.com/img/remote/1460000012564211?w=640&h=280); 項(xiàng)目地址: diana文檔地址: http://muyunyun.cn/diana/ 造輪子的意義 為啥已經(jīng)有如此多的前端工具類庫(kù)還要自己造輪...

    zhichangterry 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<