Dart/Flutter 中的依赖关系图?
Posted
技术标签:
【中文标题】Dart/Flutter 中的依赖关系图?【英文标题】:Dependency diagram in Dart/Flutter? 【发布时间】:2019-12-02 02:39:48 【问题描述】:有没有办法查看我的颤振项目中的包是如何相互依赖的? 在包下,我的意思是内部包:“lib”下的文件夹。 此外,最好检查包之间的循环依赖关系。
【问题讨论】:
【参考方案1】:您可以使用以下命令查看您的 Flutter 应用的依赖关系图。
flutter pub deps
依赖信息打印为树、列表或紧凑列表。
【讨论】:
这很有趣。但是,我有兴趣在我的应用程序中查看内部依赖项,而不是外部依赖项。我更新了我的问题以明确说明。 通过--no-dev
选项隐藏dev_dependencies
。【参考方案2】:
我也在寻找一种显示内部依赖关系的工具,但找不到。所以我写了一个名为 Lakos 的工具来可视化 Graphviz 中的 Dart/Flutter 库依赖关系。 Lakos 将可视化项目内部的依赖关系,而不是外部包依赖关系。 Lakos 还会使用退出代码警告依赖循环。
https://pub.dev/packages/lakos
示例用法:
lakos --metrics . | dot -Tpng -Gdpi=200 -o lakos_example.png
输出将如下所示:
【讨论】:
太棒了,谢谢伙计!【参考方案3】:虽然我没有找到检测依赖关系的工具,但我在我的文件夹前面加上数字,按抽象级别对它们进行排序:较高级别在顶部,较低级别在底部。
并且,为了避免循环依赖,我观察包只引用更大的数字,而不是更小的数字:
【讨论】:
以上是关于Dart/Flutter 中的依赖关系图?的主要内容,如果未能解决你的问题,请参考以下文章