2014-02-12 72 views
6

我一直在使用燼應用套件開始,通過its guides起伏讀取工作。然而,我在解決常規應用程序和Ember App Kit之間的差異時遇到了困難,因爲Ember App Kit使用ES6模塊構建各種位,而不是將所有內容填充爲用作名稱空間(例如App)的全局變量。結束語我周圍的灰燼應用套件頭-differences相較於普通的灰燼

我發現,這方面是不是很清楚地解釋:

  • 如何灰燼運用其神奇的自動生成模型,視圖,路線和控制器?
  • 它期望找到它們在哪裏?
  • 我應遵循什麼命名約定?
  • 如果我已經創建了一個模板,路由或控制器,並且Ember 而不是找到/檢測它,並且只是在它的位置生成默認的一個,我如何找出它正在尋找的位置;或在這種情況下進行其他調試?
  • 與使用Ember App Kit開發相比,標準Ember應用程序開發有何不同之處?

非常感謝提前!


EDIT(20140506):

這些資源介紹了ES6模塊和EAK真的很好:

+0

@ToranBillups:我真的很喜歡你如何解構EAK納入其組成部分 - 這對解釋非常有幫助;我必須說,這是一個更好的答案比我期待得到的更好。如果你想重新發布鏈接作爲答案,我會給你解決方案。乾杯! – bguiz

回答

5

就在幾周前,我真的在這個話題上做了一個博客系列。我從一個基本的(globals)燼應用程序開始,並將其轉換爲8個不同的帖子。

最後,你有一個Gruntfile瓦特/任務,就像EAK(但你已經建立了它全部由手工酮一步來)

+0

我在這裏找到你的答案,因爲我也無法弄清楚如何利用EAK。我是否應該將此答案作爲原始EAK記錄不完善的指示?通過遵循你的方法,我能否更好地理解如何更好地規劃和構建應用程序?謝謝。 – Grapho

+1

我認爲EAK有相當好的記錄,但它是一種不同類型的文檔。我寫的博客系列解釋了你如何從頭到尾創建EAK。它旨在說明EAK的方式/原因,最終您所構建的Gruntfile與開箱即用的EAK幾乎完全相同(功能上)。使用我的方法,你會得到相同的結果,但是自己完成它,你就知道在需要時如何以及在哪裏調整構建。 –

+0

感謝您的意見。我會看看有時:) – Grapho

4

Stefan Penner在Ember App Kit的網站上做了一個很好的解釋modules,但總結如下:

Ember App Kit使用ES6 Module Transpiler將所有應用程序的Ember類轉換爲AMD模塊。在「正常」灰燼的發展,分配類作爲您的應用程序的性能...

App.IndexController = Ember.Controller.extend(...); 

但隨着EAK,你寫你的模塊ES6語法:

export default Ember.Controller.extend(...); 

的transpiler將使用的文件名稱作爲它的模塊名稱的基礎上(假設它保存在app/controllers/index.js

define('controllers/index', Ember.Controller.extend(...)); 

灰燼應用套件然後使用自定義解析採用了AMD,而不是找查找模塊他們作爲你的應用程序的駱駝屬性。 (我沒有代表發佈另一個鏈接,所以google爲ember-jj-abrams-resolver。)

如果Ember查找模塊但找不到它,它的行爲方式與外部相同的EAK。

+0

感謝您的迴應,這當然有幫助。我想我只需要深入研究[你提到的解析器]的內部(https://github.com/stefanpenner/ember-jj-abrams-resolver)來找出它在哪裏尋找東西,命名預期的公約。 – bguiz