emberjs - 构建应用程序的最佳实践?

时间:2012-04-12 21:42:46

标签: javascript performance model-view-controller memory ember.js

我在这里因为我问了一些关于emberjs框架的问题以及使用它构建应用程序的最佳方法......有些问题我希望有人能回答我:

  1. 是否有任何内置系统可以有效管理内存?
  2. 如何在应用程序生命周期内管理要实例化和销毁的控制器/视图/模型?
  3. 我们是否要在应用程序启动时声明所有控制器和视图?
  4. 当主控制器(或stateManager)将视图添加到DOM时,有没有办法自动实例化视图的控制器?
  5. 为了恢复我的状况,我正在测试ember的功能,并且非常了解所有这些功能。但现在,我有点困惑,不知道如何构建我的应用程序。什么时候实现视图及其控制器,在何时何地销毁视图的控制器以获得内存性能等...

    你们当中有些人此时和我一样对我有一些答案吗?

    非常感谢所有答案和帮助,我现在已经感谢您的反馈

    见到你们!

    编辑:我正在使用带有requireJs的emberjs来分离我的javascript文件。有没有最好的解决方案或内置的解决方案?

    (对不起我的英文)

2 个答案:

答案 0 :(得分:2)

答案 1 :(得分:0)

requirejs不适合emberjs,Ember是建立在minispade.js之上的一个简单的require()之上,而不是AMD。

有人建议我使用2个很酷的grunt任务来使用ember.js

  • grunt-neuter:只需使用require('module'),所以中性可以按照正确的顺序连接你的应用
  • grunt-ember-template:将您的模板文件编译成一个全局模板.js,易于使用。

我亲自管理我的应用程序,如HMVC,我需要每个模块文件到自己的moduleController,我的app.js只在每个模块索引控制器,所以我知道当我看看我的app.js时加载了什么模块

- app.js
- modules/
     -- module1
         - module1Controller.js // initiate this in the app.js, which ain't required for ember
         - module1Model.js      // (if non ember) returns static methods that can be used by other modules
         - module1View.whatever // this should be compiled into the template.js, just easier to manage in the same folder
     -- module2
     -- module3 ...