摘要:工具模塊工具模塊分為,,,,模塊字節(jié)順序字節(jié)順序,稱為端序和尾序,是跨越多字節(jié)程序?qū)ο蟮膬Υ嬉?guī)則如果最低有效位在最高位的前面,則為小端序,反過來為大端序端的起源來自于格列佛游記,中的水煮蛋的大端和小端。
Node.js工具模塊
node工具模塊分為OS,Path, Net, DNS, Domain模塊
字節(jié)順序,稱為端序和尾序,是跨越多字節(jié)程序?qū)ο蟮膬Υ嬉?guī)則
如果最低有效位在最高位的前面,則為小端序,反過來為大端序
來自于格列佛游記,中的水煮蛋的大端和小端。
字節(jié)序有什么用讀取的時候要用,即處理器從內(nèi)存中進行讀取的時候,需要字節(jié)序,是大端序,還是小端序
其中大端序是人類讀寫數(shù)值需要的,大的在前,小的在后。
小端序是機器的讀法,正好相反
因為計算機讀取的時候是從低電位進行讀取,計算的時候也是從低位進行計算(人類也是這樣)這樣的效率一般會比較高。
字節(jié)順序對于單一字節(jié),處理器以相同順序處理預(yù)元(bit),因此單字節(jié)的傳輸和存放是一樣的
對于多字節(jié),在不同處理器的存放方式有兩種。
最高為字節(jié)儲存在最低的內(nèi)存地址處。下一個字節(jié)儲存在后面的地址處(即跟高的內(nèi)存地址)
小端序反過來即可
Path模塊 Domain模塊簡化代碼的異常處理
該模塊,將多個處理的模塊分為一組,然后進行處理
隱式綁定:把在上下文中定義的變量,自動進行綁定
顯式綁定:把不在上下文定義的變量,通過代碼進行綁定
需要使用一個emitter.emit http://nodejs.cn/api/events.h...
按照監(jiān)聽器的注冊順序,同步調(diào)用emitter.removeAllListeners 移出綁定的監(jiān)聽器
http://nodejs.cn/api/events.h...domain.run 在其域的上下文內(nèi),運行提供的函數(shù), 所有的都隱式綁定
http://nodejs.cn/api/domain.h...domain.remove 移出監(jiān)聽器
http://nodejs.cn/api/domain.h...
var EventEmitter = require("events").EventEmitter; var domain = require("domain"); // 域 var emitter1 = new EventEmitter(); // 創(chuàng)建一個監(jiān)聽器的類,這是一個和監(jiān)聽器有關(guān)的類 // 創(chuàng)建域 var domain1 = domain.create(); domain1.on("err", (err) => { // 綁定一個錯誤域,如果這個時候執(zhí)行err事件,則處理回調(diào)函數(shù) console.log("domain1 處理這個錯誤" + err.message); }); // 顯示綁定 domain1.add(emitter1); // 將監(jiān)控器的類和域進行綁定 emitter1.on("error", (err) => { // 添加監(jiān)聽器的error事件的回調(diào)函數(shù) console.log("監(jiān)聽器處理錯誤" + err.message); }); emitter1.emit("error", new Error("通過監(jiān)聽器來處理")); // 觸發(fā)error事件,首先運行error的回調(diào)函數(shù),接著運行new Error事件 emitter1.removeAllListeners("error"); // 移出監(jiān)聽器類綁定的所有的事件 emitter1.emit("error", new Error("通過正常的 domainl來進行處理")) // 由于上一步已經(jīng)移出了監(jiān)聽器,所以通過正常的創(chuàng)建域中的錯誤的處理進行處理 var domain2 = domain.create(); // 創(chuàng)建一個新的 domain2 的域 domain2.on("error", (err) => { // 將該域和事件進行綁定 console.log("domain2 來進行處理" + err.message); }); // 隱式綁定 domain2.run(() => { // 創(chuàng)建一個域的運行空間 var emitter2 = new EventEmitter(); // 在域的運行空間內(nèi)創(chuàng)建一個新的監(jiān)控器的類 emitter2.emit("error", new Error("由domain2處理")); // 由于監(jiān)控器的類沒有進行綁定,所以上下文尋找error錯誤的處理,找到第28行,對于error錯誤的處理,運行回調(diào)函數(shù) }); domain1.remove(emitter1); // 移出域綁定的錯誤 emitter1.emit("error", new Error("由于未進行綁定,程序遇到執(zhí)行錯誤")); //
PS C:UsersmingmDesktop est> node main.js 監(jiān)聽器處理錯誤通過監(jiān)聽器來處理 events.js:167 throw er; // Unhandled "error" event ^ Error: 通過正常的 domainl來進行處理 at Object.(C:UsersmingmDesktop estmain.js:24:24) at Module._compile (internal/modules/cjs/loader.js:689:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10) at Module.load (internal/modules/cjs/loader.js:599:32) at tryModuleLoad (internal/modules/cjs/loader.js:538:12) at Function.Module._load (internal/modules/cjs/loader.js:530:3) at Function.Module.runMain (internal/modules/cjs/loader.js:742:12) at startup (internal/bootstrap/node.js:266:19) at bootstrapNodeJSCore (internal/bootstrap/node.js:596:3) Emitted "error" event at: at EventEmitter.emit (domain.js:455:12) at Object. (C:UsersmingmDesktop estmain.js:24:10) at Module._compile (internal/modules/cjs/loader.js:689:30) [... lines matching original stack trace ...] at bootstrapNodeJSCore (internal/bootstrap/node.js:596:3) PS C:UsersmingmDesktop est>
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/96339.html
摘要:在源碼中也可以看到,在執(zhí)行之前動態(tài)的引入了這些解釋器模塊。因為認為如果你要使用,那么一定會有對應(yīng)的依賴,這個模塊就是與同級的依賴,也就是說可以放心的進行,大致這樣的結(jié)構(gòu)的位置在這里執(zhí)行腳本以及一個相反的栗子 NPM是Node.js的包管理工具,隨著Node.js的出現(xiàn),以及前端開發(fā)開始使用gulp、webpack、rollup以及其他各種優(yōu)秀的編譯打包工具(大多數(shù)采用Node.js來實...
摘要:博客地址這篇文章是我在眾成翻譯翻譯的一篇文章,一篇的入門指南,原文鏈接的出現(xiàn)使得用寫服務(wù)端應(yīng)用成為可能。你可以看到,這個過程也安裝了其他的模塊,它們都是的所依賴的模塊。但是,得到的輸出信息會很冗長,我們可以加上來精簡一下輸出。 github 博客地址: https://github.com/zengxiaota... 這篇文章是我在 眾成翻譯 翻譯的一篇文章,一篇 npm 的入門指南,...
摘要:的另一種形式測試踩坑之路代碼覆蓋率單元測試的代碼覆蓋率統(tǒng)計,是衡量測試用例好壞的一個的方法。 showImg(https://segmentfault.com/img/remote/1460000012564211?w=640&h=280); 項目地址: diana文檔地址: http://muyunyun.cn/diana/ 造輪子的意義 為啥已經(jīng)有如此多的前端工具類庫還要自己造輪...
摘要:比如,這種模擬并不符合某些邊緣情況。然而,使用,結(jié)果是在引導模塊時,將指向,與使用的行為一致。這將更容易完成代碼庫的過渡,并使成為可能。 原文作者:Johannes Ewald @Jhnnns 原文鏈接:The state of JavaScript modules 已獲原作者授權(quán)翻譯及發(fā)布 showImg(https://segmentfault.com/img/bVOpwz?w...
閱讀 1146·2021-11-23 09:51
閱讀 2511·2021-09-29 09:34
閱讀 3213·2019-08-30 14:20
閱讀 1159·2019-08-29 14:14
閱讀 3242·2019-08-29 13:46
閱讀 1140·2019-08-26 13:54
閱讀 1687·2019-08-26 13:32
閱讀 1482·2019-08-26 12:23