2016-09-28 2 views
2
dojo.require("dijit.Dialog"); 
dojo.require("dijit.form.Form"); 
dojo.require("dijit.form.Button"); 
dojo.require("dijit.form.DateTextBox"); 
dojo.require("dijit.form.TimeTextBox"); 
dojo.require("dijit.form.ValidationTextBox"); 
dojo.require("dijit.layout.TabContainer"); 
dojo.require("dijit.layout.ContentPane"); 
dojo.require("dijit.Tooltip"); 
dojo.require("dojo.parser"); 
dojo.require("dojo.fx"); 
dojo.require("dojo.dnd.Manager"); 
dojo.require("dojo.dnd.Source"); 
dojo.require("dojox.layout.ContentPane"); 
dojo.require("dojo.io.iframe"); 

Это появляется с CDN или с SRC = «», и показать в инспектировать элемент в моей странице много запросов, кто-нибудь знает почему?Многие запросы к серверу с додзё

+0

ли ниже ответ на ваш вопрос? –

ответ

1

Ну, кажется, вы хотите понять flow of Dojo Я имею в виду, как он работает и как он загружает свои зависимости.

В вышеприведенном коде сниппета, как мы можем видеть, что Вы используете legacy model/version of dojo

Сначала мы понимаем require и define

require и define являются частью определения асинхронного модуля (AMD) API.

Вы используете define для определения модуля, который может быть использован другим кодом. Как правило, define будет использоваться в файле javascript. Файл javascript определяет модуль. Все файлы Dojo используют define.

Вы используете require, когда вы не определяете модуль, но вам нужны модули, которые были определены.

Загрузка виджетов

Таким образом, в вашей сети и консоли вы можете заметить, что всякий раз, когда вы загружаете КДС ссылку додзё он просто загружает файл загрузчика init.js по умолчанию. очень маленький по размеру и легкий/быстрый для загрузки.

Так как только загружаются ваш додзе погрузчик основан на ваш dojo configuration тогда начинает искать зависимости, которые вы используете в вашем проекте так, который когда-либо виджеты (dojo controls, classes, files etc.) Вы сослались в требуют будет начать загрузку тех виджет из CDN.

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

Надеясь это будет ответить на ваши проблемы :)

+0

есть какой-то способ меньше запроса? XHR? –

+0

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

+0

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

Смежные вопросы