Skip to content

pantoken / renderers/web-components/src / buildRegisterContext

函数: buildRegisterContext()

buildRegisterContext(options, target, resolveIconSvg): RegisterContext

Alpha

构建共享的 RegisterContext,以 register() 风格将调用线程连接到每个元素的 define。图标解析器是可注入的:register() 始终传递真实的、 由 @pantoken/icons 支持的 iconSvg(对现有每个调用者保持不变的默认行为), 而每个元素的 CDN 构建会为从不调用它的元素传递 noopIconSvg@pantoken/icons/@pantoken/tokens 是一个多兆字节的依赖,并且由于 Rollup 无法对 iife/umd 输出进行代码拆分,任何从包的入口静态可达的内容最终都会包含在整个 包中,无论该特定元素的代码路径是否实际调用它。本模块正是出于该原因没有顶级副作用 — 导入它(不同于导入 ../index.ts,后者在导入时会自动注册所有内容)不会触及 iconSvg,除非调用者将其传入。

参数

options

RegisterContextOptions

register() 的选项形状相同,去除了 only

target

ElementRegistry

要定义到的注册表。

resolveIconSvg

(name) => string

接入到 ctx.iconSvg 的解析器 — 对于真实图标传入 iconSvg, 当调用者的元素集合可以确定从不渲染图标时传入 noopIconSvg(参见 ICON_ELEMENTS./elements-meta.ts 中的说明)。

返回值

RegisterContext