Files
Web_Template_Vue3_Dev/AI-Coding/11-Plugins-System.md

1.4 KiB
Raw Blame History

11. Plugins 系统library/plugins/*

目标:明确本仓库“全局注入能力/指令/错误处理”的来源,避免抽取组件时漏掉运行时注入。

插件目录

  • library/plugins/vab.ts:全局 gp 注入 + mitt 事件总线($pub/$sub/$baseMessage/...
  • library/plugins/directive.ts:自定义指令(v-permissions
  • library/plugins/errorLog.ts:全局错误捕获(app.config.errorHandler)并写入 store
  • library/plugins/support.ts:构建信息输出与依赖存在性检查

安装方式

  • 正常路径:library/index.ts 会自动加载 library/plugins/**/*.tsapp.use()setupVab 链路内)
  • 抽取到目标项目:
    • 若不复用 library/index.ts 的自动加载逻辑,需要在入口手动 app.use(plugin)

最小依赖闭包

  • vab.ts:依赖 Element Plus 全局 APIElMessage/ElLoading/ElMessageBox/ElNotification+ lodash + mitt + src/config
  • directive.ts:依赖 src/utils/permissionhasPermission 及其权限数据来源)
  • errorLog.ts:依赖 src/store/modules/errorLogsrc/config/errorLog
  • support.ts:依赖 __APP_INFO__ 构建注入

验收点smoke

  • vab$baseMessage('ok') 能弹出 message$pub/$sub 能收发事件
  • directive:模板中 v-permissions 不报错且能按权限生效
  • errorLog:手动触发异常能写入 errorLog store