jsdom 19 发布,用于 Node 的各种 Web 标准的纯 JS 实现

jsdom 是许多 Web 标准的纯 JavaScript 实现,特别是 WHATWG DOM 和 HTML 标准,用于 Node.js 中。一般来说,该项目的目标是模拟足够多的 Web 浏览器子集,以用于测试 Web 应用程序。

最新版本的 jsdom 需要 Node.js v12 或更新版本。(低于 v17 的 jsdom 版本仍然适用于以前的 Node.js 版本,但不受支持。)

基本用法

const jsdom = require("jsdom");
const { JSDOM } = jsdom;

要使用 jsdom,将主要使用 JSDOM 构造函数,它是 jsdom 主模块的命名导出。向构造函数传递一个字符串,将会得到一个 JSDOM 对象,它有许多有用的属性,特别是 window 对象:

const dom = new JSDOM(`<!DOCTYPE html><p>Hello world</p>`);
console.log(dom.window.document.querySelector("p").textContent); // "Hello world"

生成的对象是 JSDOM 该类的一个实例,其中包含许多有用的属性和方法。通常,它可用于从“外部”对 jsdom 进行操作,执行普通 DOM API 无法实现的操作。对于不需要任何此功能的简单情况,推荐使用类似的编码模式:

const { window } = new JSDOM(`...`);
// or even
const { document } = (new JSDOM(`...`)).window;

目前,jsdom 19 版本已发布,主要修复了 jsdom.nodeLocation() 用于通过片段解析产生的节点时(例如,通过 innerHTML),返回未定义的结果的问题。

「点点赞赏,手留余香」

1

给作者打赏,鼓励TA抓紧创作!

微信微信 支付宝支付宝

还没有人赞赏,快来当第一个赞赏的人吧!

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
码云笔记 » jsdom 19 发布,用于 Node 的各种 Web 标准的纯 JS 实现

发表回复