摘要:酷庫,每天兩分鐘,了解一個流行庫。昨天認識了一個在環境下操作的庫,實現了接口,用起來十分方便。今天,我們要學習的就是一個純實現的,可以在環境中模擬出環境,像這樣對依賴的庫就可以在中運行了。
NPM酷庫,每天兩分鐘,了解一個流行NPM庫。
昨天認識了一個在Node.js環境下操作HTML的庫 cheerio,cheerio實現了jQuery接口,用起來十分方便。為什么不直接用jQuery呢?因為Node.js環境中沒有實現DOM對象。
jsdom今天,我們要學習的jsdom就是一個純JS實現的DOM,jsdom可以在Node.js環境中“模擬出”DOM環境,像jQuery這樣對DOM依賴的庫就可以在Node.js中運行了。
const jsdom = require("jsdom"); const { JSDOM } = jsdom; const dom = new JSDOM(`Hello world
`); dom.window.document.querySelector("p").textContent; // "Hello world" const $ = require("jquery")(dom.window); $("p").text(); // "Hello world"
上述代碼中,首先實例化一個JSDOM對象dom,實例化參數就是我們要操作的HTML字符串,然后就可以通過 dom.window.document 等DOM標準接口訪問HTML內容了。
最后兩行,我們引入了jQuery庫,并將jQuery的window參數綁定到dom對象上,我們就可以用jQuery來訪問HTML文本。
如果你的需求是簡單地操作HTML文本,我建議你仍然使用更加輕量的cheerio庫,但是如果cheerio滿足不了你的需求,或者你為了像兼容jQuery一樣兼容某些依賴DOM的npm庫,你可以嘗試jsdom來解決你的問題。
參考資料jsdom: https://github.com/tmpvar/jsdom
cheerio: https://github.com/cheeriojs/...
DOM: https://dom.spec.whatwg.org
歡迎關注公眾號:梁興臣每天了解一個NPM庫,一年后成為Node.js高手
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/51696.html
摘要:酷庫,每天兩分鐘,了解一個流行庫。昨天認識了一個在環境下操作的庫,實現了接口,用起來十分方便。今天,我們要學習的就是一個純實現的,可以在環境中模擬出環境,像這樣對依賴的庫就可以在中運行了。 NPM酷庫,每天兩分鐘,了解一個流行NPM庫。 昨天認識了一個在Node.js環境下操作HTML的庫 cheerio,cheerio實現了jQuery接口,用起來十分方便。為什么不直接用jQuery...
摘要:我們將用戶可控制的控制臺稱為虛擬控制臺,以便將其與和頁面內部的區分開來。同樣,目前在中是不能夠處理相關信息的比如設置這樣做會導致虛擬控制臺發出,說明此功能未實現,并且沒有任何變化也將不會有新的或對象,并且現有對象仍保持當前所有相同的屬性值。 jsdom是一個純粹由 javascript 實現的一系列 web標準,特別是 WHATWG 組織制定的DOM和 HTML 標準,用于在 node...
摘要:但是,如果我們使用過多的函數式編程的抽象概念,我們的函數式編程也會非常難以理解。相比于不太合理的純函數式編程,我們的代碼更加可讀理解和修改,這也是我們重構代碼的目的。 本文是篇譯文,原文鏈接An Introduction to Reasonably Pure Functional Programming,不當之處還請指正。 一個好的程序員應該有能力掌控你寫的代碼,能夠以最簡單的方法使你...
摘要:酷庫,每天兩分鐘,了解一個流行庫。是前端操作的利器,我們通過的接口可以方便地訪問修改樹中的節點和內容。但是很遺憾,并不能在服務端運行,因為嚴重依賴,而環境中是沒有集成的。方法加載一段格式的字符串,然后返回一個實現了接口的對象。 NPM酷庫,每天兩分鐘,了解一個流行NPM庫。 jQuery 是前端DOM操作的利器,我們通過jQuery的接口可以方便地訪問、修改DOM樹中的節點和內容。 有...
摘要:單元測試,測試一個簡單的組件。接口測試,用戶信息接口測試。學習借鑒,一些使用做測試的開源項目。這里使用到的內置斷言斷言結果值等于我們想要的預期值,則測試通過。在里放入一個函數,函數自動執行,里面執行的結果必須拋出錯誤,則測試通過。 目錄 1、為什么選擇 AVA ?2、API 概覽。3、準備工作。4、單元測試,測試一個簡單的工具函數。5、使用 Promise、Async/await、Ob...
閱讀 3339·2022-01-04 14:20
閱讀 3108·2021-09-22 15:08
閱讀 2188·2021-09-03 10:44
閱讀 2316·2019-08-30 15:44
閱讀 1491·2019-08-29 18:40
閱讀 2655·2019-08-29 17:09
閱讀 2989·2019-08-26 13:53
閱讀 3222·2019-08-26 13:37