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 是個數 MB 的依賴,且由於 Rollup 無法對 iife/umd 的輸出進行程式碼拆分,任何從 bundle 入口靜態可達的東西都會成為整個 bundle 的一部分,不論該特定元素的程式路徑是否實際調用它。正因如此,本模組沒有頂層副作用 — 單純匯入它(不同於匯入 ../index.ts,該匯入時會自動註冊所有東西)不會觸及 iconSvg,除非呼叫者將其傳入。

參數

options

RegisterContextOptions

register() 的選項形狀相同,但不含 only

target

ElementRegistry

要定義到的註冊表(registry)。

resolveIconSvg

(name) => string

接到 ctx.iconSvg 的解析器 — 對於真實的圖示傳入 iconSvg,或在能證明呼叫者的元素集合絕不會呈現圖示時傳入 noopIconSvg(參見 ICON_ELEMENTS./elements-meta.ts 中的說明)。

回傳

RegisterContext