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抓紧创作!

微信微信 支付宝支付宝

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

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

发表评论

IT互联网行业相关广告投放 更专业 更精准

立即查看 联系我们