2012-12-30 256 views
15

是否有任何很好的教程或Ember.js文檔描述了模型/視圖/控制器的目錄結構,app.js以及在index.html根文件中引用這些文件的方式。Ember.js項目目錄結構

  • 創建「Ember.Application.create」文件?
  • 包含順序(models.js,apps.js,controllers.js)?

回答

2

似乎仍然沒有明確約定,但目前很多人似乎可以用約曼和官方灰燼發電機https://github.com/yeoman/generator-ember

雖然我很欣賞的灰燼教程的「開放式」性質,漂亮的事情之一關於Rails是文件放置的慣例。當我們聘請一位新開發人員時,我們不需要對我們的目錄結構給出解釋......我希望Ember很快就會制定一個官方標準。

4

This tutorial by Dan Gebhardt在建立我的項目結構,搞清楚如何包括文件對我很有幫助。

+1

+1。我非常喜歡這種結構。在我看來,對於大範圍的應用程序,然後是公認的答案,這可能會很快變得麻煩。 – Nic

4

ember-skeleton project有一個耙式管道項目佈局的合理例子。他們這樣做是這樣的(from the README):

 
ember-skeleton 
├── Assetfile - App build file 
├── Gemfile - Package dependencies for rakep/rack 
├── Gemfile.lock - Here be dragons: don't touch, always include 
├── app - App specific code 
│ ├── css - App CSS or SCSS (.scss) 
│ ├── lib - App code, *modularized during build* 
│ ├── modules - Module code, *already modularized* 
│ ├── plugins - Plugins (e.g. jquery.jsonrpc.js) 
│ │ └── loader.js - JS module loader 
│ ├── static - Static files, never touched, copied over during build 
│ ├── templates - Handlebars templates, *modularized during build* 
│ ├── tests - QUnit application tests 
│ └── vendor - Vendor code, *modularized during build* 
├── assets - Built out asset files, minified in production 
│ ├── app.css - Built out app CSS/SCSS 
│ ├── app.js - Built out app JS 
│ └── loader.js - Built out JS module loader 
├── config.ru - Rack development web server configuration 
├── index.html - The app entry point 
├── tests - QUnit testing files 
│ ├── index.html - The testing entry point 
│ ├── qunit - Testing support files 
│ └── run-tests.js - The PhantomJS QUnit test runner 
└── tmp - Temporary build files used by rakep 
4

我有我與

app.js很高興的佈局 - 這是主要的應用程序文件,包括設置和路由器

views.js - 包含應用內使用的意見,雖然我通常現在被這出homeView.js navigtaionView.js等

dataModels.js - 這是我認爲我的所有數據模型對象的應用程序

dataSources.js - 我使用它來從任何API調用加載datamodels的datamodels或陣列我使

accountController.js - 控制器類,附加的樣品中的我也有一個emailMessagingController和smsMessagingController

您可以在這裏找到我的樣本項目

https://github.com/bwship/neptunejs

和灰燼這裏

的CoffeeScript的文件3210

https://github.com/bwship/neptunejs/tree/master/public/coffeescripts

最後的佈局和索引JAD文件顯示我如何將這些在此處添加

https://github.com/bwship/neptunejs/tree/master/views

我想最終開始使用燼數據的風格,但已經把出了幾使用dataSources和dataModels文件的固體應用程序。

+0

我想說這對於較小的應用程序來說是一個很好的起點。不過,我認爲如果你想構建更大的應用程序並分離出獨立的模型/視圖/控制器/模板文件,那麼這會變得非常麻煩,那麼這將是一個更好的解決方案。 – Nic

+0

是的,絕對。我在具有app,控制器,模型,路線和視圖文件夾的較大項目上爲它們設置了單獨的文件。然後是一個帶有句柄模板的模板文件夾。 – WallMobile