Что происходит, когда мы впервые загружаем наше приложение, используя Ember JS?

Я новичок в Ember, и я прошел через Ember JS Documentation какое-то время и вдруг столкнулся с двумя вопросами. Я даже часами серфил в интернете и едва мог найти решение. Итак, вот они:

Вопрос 1:

Цитирование Ember Документация,

Приложение вводится при первой загрузке приложения. Как и любой другой маршрут, по умолчанию будет загружен шаблон приложения.

application в приведенной выше цитате представляет application route который в соответствии с документом загружается при загрузке приложения и отображает application.hbs, Где находится маршрут приложения?

Вопрос 2:

Где именно в потоке управления router.js файл загружается? До маршрута приложения или после маршрута приложения?

Запрос:

Также я был бы благодарен, если бы кто-нибудь мог помочь мне с полным потоком Ember JS (начиная, когда пользователь вводит localhost:4200).

Благодарю.

2 ответа

Решение

Я попытаюсь сделать удар в этом... но я также смущен некоторыми из этого материала.

  1. Средство распознавания Ember выполняет большую часть работы на основе соглашений об именах. По умолчанию - в установке Ember уже создано несколько вещей - но при сборке / или через некоторое время в процессе - он создаст контроллеры и маршруты, которые могут подразумеваться, но которые вы не создали. Например... нет application.js маршрут в структуре вашей папки... но Эмбер создает его в таинственной зоне за кулисами. Это, вероятно, так, что вам не нужно думать о площади поверхности - если вы не используете ее явно. Точно так же, как этот "маршрут" - он тоже создаст контроллер. Маршрут "вводится" до визуализации шаблона - потому что он должен будет определять такие вещи, как модель - которая, кстати, является просто свойством, которое устанавливается на возможно несуществующем (насколько вам известно) контроллере то же имя. ( См. Перехваты жизненного цикла маршрута) Другими неявными маршрутами являются /index /error /loading и т. Д. - и все они есть - для каждого маршрута - даже если вы не видите файлы. Если вы хотите использовать их, вам нужно явно создать их (используйте CLI).
  2. Я могу только представить, что маршрутизатор загружен задолго до того, как вы введете какой-либо маршрут... иначе он не будет знать, как что-то решить?- понял... попробуйте создать маршрут приложения - и фактически добавить его в маршрутизатор. Вещи сломаются. Но хорошая сторона в том, что вам не нужно вводить маршрут, который есть, что бы ни было?
  3. Я не уверен в каких-либо дополнительных особенностях (пока) - но я думаю, что это поток, который проходит через маленькие глазки и собирает больше данных в каждой области видимости в зависимости от моделей и атрибутов.

Вот несколько вещей, чтобы пережевать:

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

EmberConf 2017: Анимированное руководство по Ember Internals от Гэвина Джойса

Кроме того, курс Майка Норта по мастерам веб-интерфейса подробно рассматривается в этом материале. https://frontendmasters.com/workshops/ember/ - но вы не просто изучаете Ember... вы изучаете все, из чего сделан ember, например, es2015 - и в этой зоне не хватает тонны сочувствия

Если вы можете преодолеть первоначальные загадки - Эмбер это супер весело.:)

Похоже, что ваши основные вопросы были решены здесь, посмотрим, смогу ли я ответить на ваш основной вопрос потока приложений.

Ember запускает серию шагов, чтобы включить ваше приложение:

  • приложение включено (запускает инициализаторы)
  • включается экземпляр приложения (запускайте инициализаторы экземпляра)
  • Экземпляр приложения загружает файл router.js
  • маршрутизатор загружает маршрут приложения / контроллер
  • маршрутизатор загружает указанный маршрут / контроллер (или возвращается к index маршрут / контроллер, если не указан)

Часть этого описана на диаграмме, показанной на этой странице ( https://guides.emberjs.com/v3.0.0/getting-started/core-concepts/), но, похоже, мы могли бы улучшить ее, чтобы прояснить ситуацию. Если у вас есть время / интерес, хотелось бы получить помощь в обновлении изображения!

Другие вопросы по тегам