Метеор: показывает загрузчик при начальной загрузке

Итак, я только что закончил свой первый метеоритный проект. Это веб-приложение для смартфонов и планшетов, которое в основном проводит сеансы вопросов и ответов на переговорах/презентациях. Он называется Questful.

В любом случае... моя проблема в том, что при первой загрузке все файлы JS, которые нужны метеору, еще не находятся в кеше браузера клиента (очевидно)... но особенно когда смартфоны используются для просмотра этого веб-приложения (на которое оно нацелено) at) и подключение к Интернету также может быть медленным (--› вполне возможно, когда X сотен человек используют один и тот же WiFi на мероприятии) для загрузки страницы в первый раз требуется целая вечность. (файлы метеора JS имеют размер около 500 КБ).

Я проверил скорость загрузки своего сервера, и оказалось, что она составляет около 50 МБит, что нормально, поскольку это довольно дешевый корень.

Стандартный предварительный загрузчик jQ не будет выполнять эту работу, так как метеор загружает файлы JS в голову, поэтому $(function(){}); сработает слишком поздно (ПОСЛЕ того, как все файлы JS загружены, а это не то, что я хочу).

Ребята, у вас есть идеи, можно ли написать такой прелоадер? Или там есть один?

с уважением Патрик


person Patrick DaVader    schedule 22.07.2013    source источник


Ответы (1)


взгляните сюда https://github.com/oortcloud/unofficial-meteor-faq#how-do-i-know-когда-моя-подписка-готова-и-еще-не-загружается

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

предполагая, что вы определяете своего помощника как dataLoaded, шаблон может быть чем-то вроде

{{#if dataLoaded}}
  <Show your real data / templates>
{{else}}
  Loading...
{{/if}}
person nate-strauser    schedule 22.07.2013
comment
Спасибо за Ваш ответ! Проблема в том, что я забыл упомянуть, что DOM еще не готов, в то время как весь этот материал JS загружается при начальной загрузке (как сказано: файлы JS загружаются в голову --> там еще нет тела --> нечего делать отображать). Так что обычный загрузчик не справится с этой задачей! Я думаю, что правильным подходом было бы иметь интеллектуальный пакет, который перемещает все файлы JS в конец тела и включает загрузчик перед всем этим. Но я пока не смог найти ничего подобного + не знаю, возможно ли это в настоящее время, чтобы перенести скрипты метеора с головы на конец тела. - person Patrick DaVader; 02.08.2013