seajs / seajs-health

A Sea.js plugin for collecting health data of CMD modules

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

health 插件需求整理

lifesinger opened this issue · comments

典型使用场景与功能点

  1. 通过 URI 中添加 ?seajs-health 开启
  2. 加载成功后,在当前页面显示一个浮层
  3. 浮层中绘制出当前页面所有 CMD 模块及其依赖关系图
  4. 通过连线展现出模块之间的依赖
  5. 如果某个链路存在循环依赖,红色警告之
  6. 如果某个模块存在多个版本,黄色警告之
  7. 在 console 中,可以通过 seajs.health() 方法获取到相关数据

实现思路

  1. 通过 seajs.cache 拿到所有模块信息
  2. 通过 module.dependencies 获取依赖信息
  3. 以上两步已经得到了元数据
  4. 分析并展现出来(主要工作量)

预计 7 月份完成。

参考: seajs/seajs#768

from @popomore :

还有个需求,一个页面组件版本冲突数的统计,哪些组件版本冲突,冲突的版本是什么,数量是多少。

这个插件可以做一些很有趣的东西,主要是检查页面使用模块的健康等级,如

  1. 页面模块数,是否过多?是否可优化?
  2. 同步加载还是异步加载
  3. 加载快还是慢

也可以加一些我们已知的规则,比如 validator 不能同时引入两个版本之类的。

页面 use 次数。

可以加下全局变量的统计,数量太多报警,超过一定比例报警

commented
  1. 下周完善 seajs-health 中的依赖检查等方法.
  2. 然后完成依赖的展现
  3. 支持 ?seajs-health 的方式和 bookmarklet 的方式展现
  4. 最后在看如何增加扩展机制, 来实现报警等提示.

好, @leoner 按计划逐步推进。