2017-07-06 37 views
0

我正在學習Javascript/Ember,我正在研究它的源代碼。 https://github.com/emberjs/ember.js/Ember如何從瀏覽器控制檯執行Ember.version()?

在我讀書期間,我發現了一些有趣的東西,我想知道它是如何工作的。如您所知,如果您在瀏覽器控制檯中鍵入Ember.VERSION,則可以獲取Ember的版本號。我想在我的項目中做,所以我開始搜索代碼如何Ember做到這一點。

我能找到

// in packages/ember/lib/index.js 
Ember.VERSION = VERSION; 
... 
// Later exports Ember object 

但是我找不到灰燼如何使現有的窗口(從瀏覽器)它。我希望他們確實喜歡... window ['Ember'] =灰燼或類似的東西,但我找不到任何類似的代碼。

我想知道是否有人知道他們如何使Ember對象在整個窗口中可用。非常感謝!

+0

[JavaScript中的全局變量和window.variable有什麼區別?](https://stackoverflow.com/questions/6349232/whats-the-difference-between-a-global-var-並在-a窗口變量在JavaScript) – Siguza

+0

@Siguza謝謝你的評論:)但我不知道爲什麼這是一個可能的重複...我知道什麼是窗口及其變量。我只是想知道Ember如何「將變量賦值給窗口」,因爲我無法從其源代碼中找到任何相關的代碼。 – ryan

+0

你有沒有讀過這個問題及其答案? – Siguza

回答

0

ember-cli-app-version addon可以暴露您的應用程序的名稱和版本信息。所以你可以通過an helper把你的版本放到你的模板中。

該插件還將信息註冊到Ember.libraries以便燼檢員可以理解。您可以在這樣的方式訪問Ember.libraries

Ember.libraries._registry.filter(item=>{return item.name==='my-app-name';})[0].version 

這個插件可以給你帶來package.json信息或git describe結果。

相關問題