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. 本站所有文章教程及资源素材均来源于网络与用户分享或为本站原创,仅限用于学习和研究。
2. 如果内容损害你的权益请联系客服QQ:1642748312给予处理。
码云笔记 » jsdom 19 发布,用于 Node 的各种 Web 标准的纯 JS 实现
1. 本站所有文章教程及资源素材均来源于网络与用户分享或为本站原创,仅限用于学习和研究。
2. 如果内容损害你的权益请联系客服QQ:1642748312给予处理。
码云笔记 » jsdom 19 发布,用于 Node 的各种 Web 标准的纯 JS 实现