Вы правильно заметили, что основной причиной проблем с производительностью во время выполнения является множество обращений к серверу для извлечения небольших файлов JS.Хотя модульный дизайн Dojo очень полезен во время разработки (расширения виджетов, пространства имен и т. Д.), Во время выполнения ожидается, что вы оптимизируете биты dojo - способ сделать это - выполнить пользовательскую сборку.
Выполнение пользовательской сборки значительно увеличит производительность - сотни циклических переходов будут уменьшены до одного или двух, а размер полезной нагрузки также значительно уменьшится.Мы увидели 50-кратное улучшение производительности при использовании пользовательской сборки
При пользовательской сборке будет создан оптимизированный минимизированный файл JS, который будет содержать только код, который вы используете в приложении.Вы можете определить несколько слоев в зависимости от того, как вы хотите отделить файлы JS приложения (например, один сжатый файл от нескольких файлов, включенных в различные интерфейсы пользователя) в зависимости от используемой версии dojo, см .:
http://dojotoolkit.org/reference-guide/1.7/build/index.html#build-index http://dojotoolkit.org/reference-guide/1.7/build/pre17/build.html#build-pre17-build
Поначалу это выглядит устрашающе, но будьте внимательны, вы сможете создать оптимизированную версию и увидеть преимущества :)