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

30 lines
1.4 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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/**/*.ts``app.use()`setupVab 链路内)
- 抽取到目标项目:
- 若不复用 `library/index.ts` 的自动加载逻辑,需要在入口手动 `app.use(plugin)`
## 最小依赖闭包
- `vab.ts`:依赖 Element Plus 全局 APIElMessage/ElLoading/ElMessageBox/ElNotification+ lodash + mitt + `src/config`
- `directive.ts`:依赖 `src/utils/permission`hasPermission 及其权限数据来源)
- `errorLog.ts`:依赖 `src/store/modules/errorLog``src/config/errorLog`
- `support.ts`:依赖 `__APP_INFO__` 构建注入
## 验收点smoke
- `vab``$baseMessage('ok')` 能弹出 message`$pub/$sub` 能收发事件
- `directive`:模板中 `v-permissions` 不报错且能按权限生效
- `errorLog`:手动触发异常能写入 errorLog store