了解 ember-cli/loader.js require._stats 属性

Understanding for ember-cli/loader.js require._stats properties

我已经尝试搜索各种 google 搜索,无论是臃肿的词 require 还是对 ./_ 的不友好,我找不到相关信息。

我正在研究 require._stats 以尝试根据定义、使用的模块等了解我的应用程序的性能,require._stats 下的属性看起来像是发现此信息的有用工具。

我大致了解以下一些内容的含义,但对在开发控制台中键入 require._stats 后弹出的以下字段的可靠定义感到好奇(感谢链接到任何外部资源以及):

  1. 定义
  2. 出口
  3. findDeps
  4. 查找模块
  5. 模块
  6. 等待队列长度
  7. 具体化
  8. 需要
  9. 解决
  10. resolveRelative

我正在分析的 Ember.js 应用程序从 ember-cli 的 loader.js 获取这些统计信息,而不是 require.js 的一部分。查看 loader.js, we can see that each field provides the following information by tracking heimdall.increment statements and looking a a few definitions provided early in the source 中的代码:

  1. define - 定义的模块数。使用此加载程序,将有额外的模块定义为 a few dummy modules are loaded in the source。用相同名称定义的模块可能不被计算在内。
  2. exports - 导出的模块数量
  3. findDeps - 搜索依赖项的次数。这应该对应
  4. findModule - 查找模块的次数。这可能是在需要模块时,或者在 unsee
  5. 中取消注册时
  6. modules - 注册的模块数
  7. pendingQueueLength - 找到模块并将其添加到待处理队列以进行处理但尚未待处理且未执行的次数
  8. reify - 一组模块导出的次数是运行
  9. require - 模块的 require 语句数
  10. resolve - 模块被解析的次数
  11. resolveRelative - 模块在相对路径(以 . 开头)解析的次数

请务必注意,完全有可能将依赖项包装在模块中(有时会无意中使用构建自动化工具的 "magic"!),因此您可能无法全面了解您的性能依赖管理,因为您可能在通过 loader.js 加载的模块中有某种加载程序的实例,提供您正在查看的 requirejs._stats