Ember.js代码概述

Ran*_*lue 11 ember.js

我通过这篇文章发现了Ember.js .

粗略地浏览文档可以提供一个非常令人印象深刻的工具.粗略地看一眼源代码就会发现一个怪物.源代码的"编译"版本是近15000行代码,GIT仓库中散布着各种文件.

如果我觉得我至少无法全面了解代码,我不想开始学习JavaScript框架.(jQuery或Backbone的质量之一是代码库相对简单.)

您对导航(并最终理解)代码有什么建议吗?

ebr*_*ryn 31

Ember.js包含几个包,其中包括最相关的包:

  • 烬金属
  • 烬运行时
  • 烬-意见
  • 烬车把
  • 烬路由

它还有一些捆绑的依赖项:

  • 把手
  • 的Metamorph

Metal由几种基础技术组成:观察者,绑定,计算属性和运行循环.

Runtime提供了Ember对象系统以及一些有用的类.对象系统使用许多以金属实现的基础技术构建,但是以更清洁的方式向应用程序开发人员公开它们.

ember-views包非常不言自明,它是建立在运行时之上的Ember视图系统.最重要的是,ember-handlebars包依赖于ember-views来在Handlebars模板系统之上提供自动更新模板.

ember-routing包提供负责维护应用程序结构和状态的系统.它允许将视图连接到应用程序的特定部分以及在状态之间转换.有关详细信息,请参阅路由器代码源

有关把手的更多信息,请查看Handlebars网站.

Metamorph是由Yehuda和Tom编写的一个小型库,它为Ember提供了更新DOM特定部分的能力,从而实现了Ember的DOM绑定功能.

  • 同样值得注意的是,Ember.js有大量文档记录,我们发布的未经授权的ember.js包含该文档.我对编译的源运行cloc(代码计数器行)并得到3,214个空行,4,800行注释和7,328行代码.还要注意,编译后的源包括Handlebars.js,它包含1,314行代码(它包括Jison解析器生成器的编译输出).这使得Ember.js大约有6,000行实际代码.这显然不像Backbone那么小,但Ember比Backbone做得更多...... (21认同)