当我们第一次使用 Ember JS 启动应用程序时会发生什么?



我是余烬的新手,我已经经历了一段时间的Ember JS Documentation,突然有两个问题。我甚至在互联网上冲浪了几个小时,几乎找不到解决方案。所以,这是他们:

问题1:

引用余烬文档,

应用程序在

应用首次启动时进入就像任何一样 其他路由,默认情况下会加载一个应用程序模板。

上面引用的application表示根据文档加载应用程序启动并呈现application.hbs时加载的application route。申请路线位于何处?

问题2:

router.js文件在控制流中的确切位置加载?在申请路线之前还是在申请路线之后?

请求:

如果有人能帮助我完成 Ember JS 的完整流程(从用户输入localhost:4200开始),我将不胜感激。

谢谢。

我会尝试尝试一下...但我也对其中一些东西感到困惑。

  1. Ember 解析器根据命名约定完成大量工作。默认情况下 - Ember 安装已经创建了一些东西---但在构建/或过程中的某个时间 - 它将创建可能暗示但您没有创建的控制器和路由。例如。。。您的文件夹结构中没有application.js路由...但余烬在幕后的神秘地带创造了它。这可能是这样你就不需要考虑表面积 - 如果你没有明确使用它。就像那个"路由"一样 - 它也将创建一个控制器。在渲染模板之前"输入"路由 - 因为它需要定义类似模型的东西 - 顺便说一下,它只是在可能不存在的(据您所知)同名控制器上设置的属性。(请参阅路由生命周期挂钩)其他隐式路由是/index/error/load 等 - 它们都在那里 - 对于每个路由 - 即使您看不到文件。如果要使用它们,则需要显式创建它们(使用 CLI)。
  2. 我只能想象路由器在您进入任何路由之前就已经加载好了......否则,它不会知道如何解决问题?-陷阱...尝试创建一个应用程序路由 - 并将其实际添加到路由器。事情会破裂。但好的一面是,您不必键入无论如何都存在的路线?
  3. 我不确定(还)还有更多细节 - 但我认为它是一个线程,它通过小孔眼移动并根据模型和属性在每个范围内获取更多数据。

这里有一些东西需要咀嚼:

dockyard.com/blog/2016/09/14/understanding-ember-s-resolver

EmberConf 2017: An Animation Guide to Ember Internals by Gavin Joyce

此外,Mike North的前端大师课程详细介绍了这些东西。 https://frontendmasters.com/workshops/ember/- 但你不只是在学习 Ember...你正在学习 Ember 制作的所有内容,比如 ES2015 - 而且在那个区域没有太多的同理心。

如果你能克服最初的谜团 - 余烬超级有趣。

看起来您的主要问题已在此处得到解决,看看我是否可以回答您的主要应用程序流问题。

Ember 运行一系列步骤来"打开"您的应用:

  • 应用程序已打开(运行初始值设定项)
  • 应用程序实例打开(运行实例初始值设定项)
  • 应用实例加载路由器.js文件
  • 路由器加载应用程序路由/控制器
  • 路由器加载指定的路由/控制器(如果未指定,则回退到index路由/控制器)

本页(https://guides.emberjs.com/v3.0.0/getting-started/core-concepts/)所示的图表中概述了其中一些,但看起来我们可以对其进行改进以使事情更清晰。如果您有时间/兴趣,希望得到一些帮助更新图像!

最新更新