# Module Spec：setup-vab（library/index.ts：自动加载、图标、样式、插件）

module:
  id: setup-vab
  name: setupVab(app)（自动加载 styles/background/plugins + 图标注册）
  type: core
  entrypoints:
    - library/index.ts

public_api:
  concept:
    - "setupVab(app) 是本模板把 'library/' 能力接入应用的总入口"
    - "它负责：加载 svg 图标、全局样式、注册图标组件、自动加载背景样式与 plugins"

dependency_closure:
  runtime:
    - "src/icon/index.ts（svg require.context）"
    - "library/styles/vab.scss（全局样式入口）"
    - "@vueuse/head（createHead）"
    - "vab-icons（VabIcon 组件 + CSS）"
    - "@element-plus/icons-vue（全量注册 ElementPlus 图标组件）"
  bundler:
    - "webpack require.context：background scss / plugins ts 自动加载"

acceptance:
  - "调用 setupVab(app) 后：VabIcon 可用、ElementPlus 图标组件可用"
  - "plugins 自动 app.use 安装，$pub/$sub 等全局注入可用（由 plugin-vab 决定）"

pitfalls:
  - "setupVab 依赖 require.context；迁移到非 webpack 构建器需要替代实现（手动 import 或 glob）"
