2013-07-05 3 views
0

Как ускорить инициализацию богатой страницы додзё с большим количеством модулей, которые требуются?Как ускорить инициализацию доджо?

Делает Dojo 1.9 запуска приложения, которое в данный момент имеет только GridX, без какого-либо дополнительного Dijit wigdets (окончательная заявка имеет также фильтр строить с Dijit виджетами).

Для инициализации требуется в течение 259 запросов, которые принимают, с активными FireBug протоколирование сети, 1.79 с. Без firebug это займет немного быстрее, но в любом случае количество запросов огромно.

Когда я активирую кеширование без must-revalidate для модулей dojo, это немного быстрее (и, по крайней мере, это не убивает сервер), но все равно около секунды. Хотя кэширование является активным, в любом случае есть запросы на сервер - это GET для HTML-шаблонов (например, gridx/templates/Grid.html).

Мой вопрос: возможно ли ускорить инициализацию? Например, можно ли объединить все модули, используемые моей стартовой страницей, в одну и сказать загрузчику AMD не делать запросы для них? Или, по крайней мере, объединить CSS в более крупные, например, один для GridX? Есть ли инструменты для этого?

ответ

4

Да, вы можете настроить некоторые вещи. Вы можете создать пользовательскую сборку, например, используя следующую ссылку: http://dojotoolkit.org/documentation/tutorials/1.9/build/. Я не уверен, что это очень поможет (не полностью его соблюсти), но есть также веб-инструмент, который позволяет создавать пользовательские сборки и сжимать их в один JS-файл (по словам моего коллеги). Попробуйте Dojo web builder, я думаю, это, вероятно, поможет вам.

Я не уверен, что вы уже это сделали, но определили ли вы async: true в своем dojoConfig? Я не уверен, что это поможет, но вы всегда можете попробовать.

+2

Да, я был в процессе ответа, но приведенный выше ответ - именно то, что вам нужно сделать. Вам в основном нужна ваша собственная сборка. Это продвинутая тема Dojo, но стоит учить себя. –

+0

Ссылка на веб-сайт Dojo мертва. Как и сам Додзё. – Lloyd