2017-02-14 66 views
0

我嘗試過搜索各種谷歌搜索,以及它是否是臃腫詞語需要或不友好./_我找不到這方面的信息。瞭解ember-cli/loader.js require._stats屬性

我正在深入探究require._stats,嘗試瞭解基於已定義,已使用等模塊的應用程序的性能,並且require._stats下的屬性看起來像是發現此信息的有用工具。

我有哪幾個下列平均的,但我對的是,在開發者控制檯中輸入require._stats後彈出如下領域堅實的定義好奇的一個粗略的想法(鏈接到任何外部資源的認識以及):

  1. 限定
  2. 出口
  3. findDeps
  4. findModule
  5. 模塊
  6. pendingQueueLength
  7. 具體化
  8. 需要
  9. 決心
  10. resolveRelative
+0

你已經用[tag:requirejs]標記了這個,但是RequireJS的源代碼中沒有任何'_stats'符號。你在說什麼具體的工具? – Louis

+0

感謝@Louis,看起來我正在看的應用程序是從ember-cli的[loader.js](https://github.com/ember-cli/loader.js)獲取這些統計信息,而不是要求的一部分.js文件。我會更新標籤和標題以反映這些細節。 – Thomas

回答

1

的Ember.js應用程序,我分析是正從灰燼-CLI的loader.js這些統計數據,而不是部分require.js。看着loader.js的代碼,我們可以看到,每場由跟蹤heimdall.increment報表,尋找提供以下信息a few definitions provided early in the source

  1. 定義 - 定義模塊的數量。有了這個裝載機,將會有額外的模塊定義爲a few dummy modules are loaded in the source。用相同名稱定義的模塊可能不被計算。
  2. exports - 導出模塊的數量
  3. findDeps - 依賴關係被搜索的次數。這應該對應
  4. findModule - 模塊被查找的次數。這可能是當需要一個模塊時,或當它是未註冊unsee
  5. 模塊 - 模塊的數目註冊
  6. pendingQueueLength - 一個模塊被發現的時間量,並加入到待處理的隊列進行處理即不是已經掛起,而不是執行
  7. 物化 - 集出口的模塊的運行時間
  8. 需要數 - 次模塊的數量都解決
  9. resolveRelative -
  10. 決心的要求模塊的報表數- 號碼次模塊在一個相對路徑解析(那些開始.

要注意,這是完全有可能來包裝一個模塊的依賴性(有時無意中用的構建自動化工具的「神奇」是很重要的!),因此您可能無法獲得依賴關係管理性能的完整畫面,因爲您可能會通過loader.js加載模塊中的某種加載器實例,從而提供您正在查看的requirejs._stats