Skip to content

包与入口

ElfUI 采用“用户单入口、内部继续分包”的结构。新项目只把 @elfui/core 声明为直接运行时依赖;链式组件、路由和构建插件仍按需安装。

入口选择

场景安装导入
新项目 / 组件库运行时 @elfui/core;开发依赖 @elfui/vite-pluginimport { defineHtml, createApp } from "@elfui/core"
路由@elfui/routerimport { createRouter } from "@elfui/router"
旧站嵌入 / 小 demo@elfui/chainimport { ElfUI } from "@elfui/chain"
只用响应式@elfui/reactivityimport { useRef } from "@elfui/reactivity"
高级 runtime 封装@elfui/runtimeimport { defineComponent } from "@elfui/runtime"
创建 Vite 项目create-elfuipnpm create elfui@beta my-app --install

包职责

职责
@elfui/core唯一标准用户运行时入口,聚合稳定的宏、响应式和 runtime API
@elfui/vite-pluginVite 宏组件编译插件
@elfui/routerWeb Components 路由
@elfui/chain链式组件扩展包,包含 runtime compiler
@elfui/reactivity响应式系统完整入口
@elfui/runtimeCustom Element、生命周期、内置组件和高级 helper
@elfui/compiler编译器源码能力,给工具和扩展使用

体积口径

当前 beta 体积基线如下。真实应用 fixture 表示经过 tree-shaking 的公共 API 消费者;聚合 facade 刻意保留全部稳定导出,用于发布门禁。

目标gzipBrotli说明
真实应用 fixture10.04 KB9.07 KB使用 Core 公共 API 并经过 tree-shaking
@elfui/core 聚合 facade17.57 KB15.86 KB包含全部稳定 Core 导出,不代表一般应用体积
@elfui/runtime 聚合 facade15.25 KB13.83 KB包含全部稳定 Runtime 导出,不带 compiler
@elfui/reactivity 聚合 facade5.17 KB4.71 KB完整独立响应式入口

边界

@elfui/core 不导出 createComponent()ElementBuildercompile() 或运行时字符串模板能力。需要链式 API 时,去“生态 / Chain 链式组件”。

编译器生成的渲染 helper 从 @elfui/core/internal 导入。这个子路径属于编译器与 Core 之间的版本化协议,不是业务代码 API;应用不应手写 internal 导入,也不需要直接声明 @elfui/runtime

@elfui/router 是独立包;只有需要路由时才安装。完整生态见生态总览:Router、Extensions、UI Kit、Language Tools 和 Create ElfUI 都在各自仓库独立维护。