dom-serializer

中文文档
3.1.1发布于 2026/05/02MITTypeScriptES Module构建来源已验证近 30 天下载 4.7亿

将 DOM 节点转换为字符串

中文使用文档
文档目录8 节
  1. render
  2. 选项
  3. encodeEntities
  4. decodeEntities
  5. emptyAttrs
  6. selfClosingTags
  7. xmlMode
  8. 生态系统

dom 序列器 Node.js CI

显示 a 多姆汉德勒 DOM节点或多姆汉德勒 DOM节点到字符串的阵列.

import render from "dom-serializer";

// OR

const render = require("dom-serializer").default;

API 密码

render

▸ 提交(单位:千美元)node: 节点 . , options?数字 : 选项: 字符串

将 DOM 节点或 DOM 节点数组渲染为字符串 .

可以认为相当于 outerHTML 的节点.

参数:

名称类型默认值说明
node节点 QQ 节点- 说吧节点待发.
optionsDom 序列器选项{}更改序列化行为

回返情况: 字符串

选项

encodeEntities

二. 支助 Optional 编码实体数字 : 布尔 “ utf8 ”

在文本和属性值中保留 HTML 或 XML 中的编码字符.

若为 xmlMode 实值 true 数值不是 'utf8',ASCII范围之外的字符也会被编码.

警卫: 设为 false 禁用编码 <, (中文(简体) ), >,以及 & 在文本和属性值中。 这是为DOM处理的往返案件准备的 decodeEntities: false,因此标记字符仅作为实体引用存在。 如果 DOM 包含原始标记字符(例如,从默认解码的剖析,或从程序操作中),它们就会被字面地释放——除非您自己已经验证了 DOM ,否则不要使用不可信输入的这个选项.

default decodeEntities


decodeEntities

二. 支助 Optional 解码实体数字 : 布尔

默认 encodeEntities。命名是为了匹配同名的解析器选项,这样就可以通过解析和序列化对单个选项对象进行线程处理。 尽管有名字, 在序列器上, 此选项可控 编码 - 设为 false 带有与 encodeEntities: false。 。 。 .

default 真实


emptyAttrs

二. 支助 Optional 空自动数字 : 布尔

打印一个空属性的值 .

default xml 模式

example 与 emptyAttrs: false数字 : <input checked>

example 与 emptyAttrs: true数字 : <input checked="">


selfClosingTags

二. 支助 Optional 自关闭标签数字 : 布尔

为没有内容的标签打印自闭标签. 若为 xmlMode 设定, 此 将适用于所有标记。 否则, 只有定义为自闭的标签 在 HTML 规格中,将按此打印.

default xml 模式

example 与 selfClosingTags: false数字 : <foo></foo><br></br>

example 与 xmlMode: true 财务报告和审定财务报表 selfClosingTags: true数字 : <foo/><br/>

example 与 xmlMode: false 财务报告和审定财务报表 selfClosingTags: true数字 : <foo></foo><br />


xmlMode

二. 支助 Optional xml 模式数字 : 布尔 | "外国"

将输入作为 XML 文档; 启用 emptyAttrs 财务报告和审定财务报表 selfClosingTags 选项.

如果值是 "foreign",它会尝试纠正混合大小写属性名称.

default 虚假


生态系统

名称说明
htmlparser2 软件快速原谅 HTML/ XML 解析器( F)
多姆汉德勒将文档变成 DOM 的 htmlparser2 处理器
多姆蒂尔与多曼德勒DOM合作的水电费
cs- 选择CSS 选择器引擎, 兼容 Domhandler 的 DOM
欢呼声多曼德勒的DOM 查询 API
dom 序列器多姆汉德勒DOM的序列器

麻省理工学院

版本与发布记录

dom-serializer 共发布 20 个版本,首次发布于 2014/05/20;过去 12 个月发布了 3 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
3.1.1latest2026/05/026 个月前
3.1.02026/05/026 个月前
3.0.02026/03/187 个月前
2.0.02022/04/104 年前
1.4.12022/04/104 年前
1.4.02022/04/104 年前

关于 dom-serializer 的常见问题

dom-serializer 是什么?

将 DOM 节点转换为字符串

如何安装 dom-serializer?

在项目目录运行 npm install dom-serializer,或使用 pnpm add / yarn add / bun add。

dom-serializer 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

dom-serializer 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

dom-serializer 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=20.19.0。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

dom-serializer 可以商用吗?

dom-serializer 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

dom-serializer 的下载量有多少?

根据 npm 官方下载统计,dom-serializer 在 2026/10/05 – 2026/11/03 这 30 天内被下载 472,718,164 次,日均约 15,757,272 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

dom-serializer 还在维护吗?

最新版本 3.1.1 发布于 2026/05/02(6 个月前);至今共发布 20 个版本,其中过去 12 个月发布了 3 个;首次发布于 2014/05/20。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。