1.4 KiB
1.4 KiB
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)并写入 storelibrary/plugins/support.ts:构建信息输出与依赖存在性检查
安装方式
- 正常路径:
library/index.ts会自动加载library/plugins/**/*.ts并app.use()(setupVab 链路内) - 抽取到目标项目:
- 若不复用
library/index.ts的自动加载逻辑,需要在入口手动app.use(plugin)
- 若不复用
最小依赖闭包
vab.ts:依赖 Element Plus 全局 API(ElMessage/ElLoading/ElMessageBox/ElNotification)+ lodash + mitt +src/configdirective.ts:依赖src/utils/permission(hasPermission 及其权限数据来源)errorLog.ts:依赖src/store/modules/errorLog与src/config/errorLogsupport.ts:依赖__APP_INFO__构建注入
验收点(smoke)
vab:$baseMessage('ok')能弹出 message;$pub/$sub能收发事件directive:模板中v-permissions不报错且能按权限生效errorLog:手动触发异常能写入 errorLog store