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