Koala OSS Club


Happy DOM | 无头浏览器环境


Happy DOM 是一个用 TypeScript 实现的 headless 浏览器环境,提供完整的 DOM API,包括 Custom Elements、Shadow DOM、Mutation Observer、Fetch 等。它被 Vitest、Jest、Bun 等测试框架作为默认或可选的 DOM 环境,支持 React、Vue 等主流框架的测试。 点评:长期以来 jsdom 几乎是 Node 测试 DOM 的唯一选择,但它相对笨重、维护节奏缓慢。Happy DOM 选择重写一套更轻量的实现,Vitest 默认推荐它作为环境就是最好的背书。在前端基础设施越来越追求速度的当下,Bun 和 Vite 带起的这波提速浪潮里,Happy DOM 是基础设施层的关键一环。局限是 API 覆盖度仍不如 jsdom 全面,遇到冷门 DOM 特性偶尔需要绕路。