The addon/plugin module a path lives under (`addons/hgexample/…` → `hgexample`), * or `''` for the core app. Large GoFrame apps ship demo addons that CLONE the * whole module tree — identical package names and request types — so the package * qualifier can't tell an addon's `config.GetReq` fro
(p: string)
| 54 | * whole module tree — identical package names and request types — so the package |
| 55 | * qualifier can't tell an addon's `config.GetReq` from core's. The addon root can. */ |
| 56 | function addonRoot(p: string): string { |
| 57 | return /(?:^|\/)addons\/([^/]+)\//.exec(p)?.[1] ?? ''; |
| 58 | } |
| 59 | |
| 60 | /** |
| 61 | * Pick the one handler for a route from same-request-type candidates. Usually a |