Ember.js项目目录结构

Ember.js项目目录结构,ember.js,Ember.js,是否有任何好的教程或Ember.js文档描述模型/视图/控制器、app.js的目录结构以及在index.html根文件中引用这些文件的方法 文件来创建“Ember.Application.create” 包含顺序(models.js、apps.js、controllers.js) 在设置项目结构和确定如何包含文件方面对我非常有帮助。有一个合理的rake管道项目布局示例。他们是这样做的(): 余烬骨架 ├── Assetfile-应用程序生成文件 ├── Gemfile-rakep/rack的包

是否有任何好的教程或Ember.js文档描述模型/视图/控制器、app.js的目录结构以及在index.html根文件中引用这些文件的方法

  • 文件来创建“Ember.Application.create”
  • 包含顺序(models.js、apps.js、controllers.js)
在设置项目结构和确定如何包含文件方面对我非常有帮助。

有一个合理的rake管道项目布局示例。他们是这样做的():

余烬骨架 ├── Assetfile-应用程序生成文件 ├── Gemfile-rakep/rack的包依赖项 ├── Gemfile.lock-这里是龙:不要触摸,始终包括 ├── 应用程序-应用程序特定代码 │ ├── css-应用程序css或SCSS(.SCSS) │ ├── lib-应用程序代码,*在构建期间模块化* │ ├── 模块-模块代码,*已模块化* │ ├── 插件-插件(例如jquery.jsonrpc.js) │ │ └── loader.js-js模块加载器 │ ├── 静态-静态文件,从未接触过,在构建过程中复制 │ ├── 模板-把手模板,*在构建过程中模块化* │ ├── 测试-QUnit应用测试 │ └── 供应商-供应商代码,*在构建期间模块化* ├── 资产-内置资产文件,在生产中缩小 │ ├── app.css-内置应用程序css/SCSS │ ├── app.js-内置app js │ └── loader.js-内置js模块加载器 ├── config.ru-机架开发web服务器配置 ├── index.html-应用程序入口点 ├── 测试-QUnit测试文件 │ ├── index.html-测试入口点 │ ├── qunit-测试支持文件 │ └── run-tests.js-PhantomJS QUnit测试运行程序 └── tmp-rakep使用的临时生成文件
我有一个我很满意的布局

app.js-这是主应用程序文件,包括设置和路由器

views.js-包含应用程序中使用的视图,尽管我现在通常将其拆分为homeView.js navigtaionView.js等

dataModels.js-我在这里保存应用程序的所有数据模型对象

dataSources.js-我使用它从我进行的任何api调用加载数据模型或数据模型数组

accountController.js-controller类,在附带的示例中,我还有一个emailMessagingController和一个smsMessagingController

你可以在这里找到我的示例项目

还有这里的余烬咖啡脚本文件

最后是布局和索引的jad文件,显示了我如何在这里添加这些内容


我确实希望最终开始使用余烬数据样式,但已经推出了一些使用数据源和数据模型文件的可靠应用程序。

似乎仍然没有明确的约定,但目前许多人似乎正在使用Yeoman和官方余烬生成器


虽然我欣赏Ember教程的“开放”特性,但Rails的一个优点是文件放置的约定。当我们雇佣新的开发人员时,我们不需要解释我们的目录结构。。。我希望余烬能尽快制定正式标准。

+1。我真的很喜欢这种结构。在我看来,中端到大型应用程序比公认的答案要好得多,这可能会很快变得混乱。我认为这是小型应用程序的一个良好起点。但是,我认为如果你想构建更大的应用程序并将其拆分为单独的模型/视图/控制器/模板文件,那么这可能会很快变得混乱。是的,肯定是这样。我在较大的项目上设置了应用程序、控制器、模型、路由和视图文件夹,每个文件夹都有单独的文件。然后是一个带有把手模板的模板文件夹。 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