health 插件需求整理
lifesinger opened this issue · comments
lifesinger commented
典型使用场景与功能点
- 通过 URI 中添加
?seajs-health
开启 - 加载成功后,在当前页面显示一个浮层
- 浮层中绘制出当前页面所有 CMD 模块及其依赖关系图
- 通过连线展现出模块之间的依赖
- 如果某个链路存在循环依赖,红色警告之
- 如果某个模块存在多个版本,黄色警告之
- 在 console 中,可以通过
seajs.health()
方法获取到相关数据
实现思路
- 通过
seajs.cache
拿到所有模块信息 - 通过
module.dependencies
获取依赖信息 - 以上两步已经得到了元数据
- 分析并展现出来(主要工作量)
预计 7 月份完成。
参考: seajs/seajs#768
lifesinger commented
from @popomore :
还有个需求,一个页面组件版本冲突数的统计,哪些组件版本冲突,冲突的版本是什么,数量是多少。
Haoliang Gao commented
这个插件可以做一些很有趣的东西,主要是检查页面使用模块的健康等级,如
- 页面模块数,是否过多?是否可优化?
- 同步加载还是异步加载
- 加载快还是慢
也可以加一些我们已知的规则,比如 validator 不能同时引入两个版本之类的。
afc163 commented
页面 use 次数。
Haoliang Gao commented
可以加下全局变量的统计,数量太多报警,超过一定比例报警
hui commented
- 下周完善 seajs-health 中的依赖检查等方法.
- 然后完成依赖的展现
- 支持
?seajs-health
的方式和bookmarklet
的方式展现 - 最后在看如何增加扩展机制, 来实现报警等提示.
lifesinger commented
好, @leoner 按计划逐步推进。