通过依赖图排错
在业务代码中,我们可能会碰到依赖注入不生效或者作用域配置错误的问题,这个时候由于容器管理的问题显得不透明,用户也不太清楚容器里有哪些东西,分别依赖了什么。
我们提供了一个依赖树生成的方法,目前可以通过它生成文本形式的图形。
const container = new Container();
container.bind(UserService);
container.bind(UserController);
container.bind(DbAPI);
const newTree = await container.dumpDependency();
console.log(newTree);
通过 dumpDependency
方法生成的文本,可以直接在 viz-js 渲染为图案,方便排查问题。
也可以通过安装 graphviz
等工具将文本树转化为图片形式。
TIP
midway 在启动时会将依赖树生成到 /run 目录下,方便排错。