2012-12-30 202 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