2013-07-30 4 views
1

Я использую Ember.js для создания веб-сайта для своей компании.Чрезвычайно длительное время загрузки для приложения Ember.js

Проблема, с которой я столкнулась, заключается в том, что начальное время загрузки страницы составляет около 10 секунд.

Я не могу дать вам данные профилирования из хрома, потому что я не могу избавить их от работы. Однако то, что я заметил при взгляде на них, заключается в том, что существует функция «Get», которая занимает всего около 8,5 секунд. Я понимаю, что это, вероятно, просто много использования Ember.Get(), но все же это всего лишь начальная загрузка страницы.

Я не знаю, нормально это или нет, но это очень неприятно. Что-то я могу с этим поделать?

Спасибо, Джейсон

+0

Я думаю, если мы не можем видеть ваш код, который мы не можем помочь так много/на всех – intuitivepixel

+0

я знаю, что это неудобно, но это не возможно, чтобы показать код. Пожалуйста, спросите меня все, что вы хотели бы знать/можете думать о том, что может быть проблематично. – Jason

ответ

3

попробуйте использовать выпуск продукции (уменьшенная версия ember.js), он использует значительно быстрее получить.

Вы отдаете очень большие списки? Если вы посмотрите на использование List List.

Если у вас есть тонна полей, которые не изменяются, измените их, чтобы они были несвязаны.

{{unbound someField}} 

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

{{logTime this}} 
{{logTime name}} 



Ember.Handlebars.helper('logTime', function(someField){ 
    var d = new Date, 
    timestamp = d.toTimeString().replace(/.*(\d{2}:\d{2}:\d{2}).*/, "$1") + "." + d.getMilliseconds(); 
    console.log(timestamp + " - " + text); 
    return ""; 
}); 
+0

Спасибо за советы по оптимизации, я постараюсь использовать завтрашнюю мини-версию. И для моего большого списка я использую таблицу ember. однако при загрузке приложения таблицы пустые. Так что это не фактор. Так что меня беспокоит, что у меня очень мало привязки и данных, когда мое приложение сначала загружается (только некоторые пустые представления - все данные заполняются позже, когда я подписываюсь), и его все еще очень медленно загружать. – Jason

+0

Если вы смотрите вкладку сети в то время как он загружается, дает ли он немного больше информации о том, что так долго загружается? Это немного запутанно, потому что мы связываем возможно более 200 полей с, вероятно, 7 выходами и более 10 просмотров за секунду. – Kingpin2k

+0

Я должен упомянуть, что речь шла о сетевой вкладке в хром-инструментах. Используете ли вы хром/ie/ff? – Kingpin2k