2013-07-19 1 views
1

Я создал собственный профиль сборки в соответствии с инструкциями от http://www.sitepen.com/blog/2012/06/11/dgrid-and-dojo-nano-build/. Я создал загрузочный слой для додзё:Ошибка: defineAlreadyDefined после применения dojo build

'dojo/dojo': {   
     include: ['dojo/dojo', 'dojo/domReady', 'dojo/_base/declare'],   
     boot: true,   
     customBase: true  
    }, 

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

Второй слой содержит модули GridX, Dijit управления и все остальное от Додзё, который используется:

'dojo/dojo-all': { 
     include: ["dojo/on", "dojo/dom-attr", "dojo/dom-class", "dojo/query", "dojo/_base/lang", "dojo/request/xhr", "dojo/parser", "dojo/_base/connect", "dojo/DeferredList", "dojo/store/Memory", "dojo/store/Observable", 
     "dijit/registry","dijit/form/TextBox", "dijit/form/Textarea", "dijit/form/ComboBox", "dijit/form/FilteringSelect", "dijit/form/CheckBox", "dijit/form/Button", 
     "gridx/core/model/cache/Sync", "gridx/Grid", "gridx/modules/SingleSort", "gridx/modules/ColumnResizer", "gridx/modules/Pagination", "gridx/modules/pagination/PaginationBar", "gridx/modules/CellWidget", "gridx/modules/Edit", "gridx/modules/Persist", "gridx/modules/Filter", "gridx/modules/filter/FilterBar", "gridx/modules/filter/QuickFilter", "gridx/modules/HiddenColumns"], 
     exclude: ['dojo/dojo', 'dojo/domReady', 'dojo/_base/declare'], 
     boot: true, 
     customBase: false 
    }, 

приложение запускается правильно, и это делает только запрос слоистых ресурсов, однако есть ошибка в FireBug консоли:

Error: defineAlreadyDefined makeError() dojo-all.js (Zeile 28)

Я думаю, что это происходит потому, что declare модуль загружается дважды: первый с dojo.js самонастройки, определяется из HTML-файла. Во-вторых, из слоя dojo-all.js, загружаемого динамически через require.

Должен быть некоторый поток в моем подходе, основанный на цитируемой статье, или статья адаптирована к старой версии Dojo (я использую версию 1.9).

Какая ошибка? Как слои должны быть правильно определены? Как я могу выполнить команду dojo, чтобы не перезаписывать загрузочный файл dojo.js? Или исключение неверно объявлено - если да, то как оно должно быть объявлено?

ответ

3

Установка boot: true заставляет погрузчик быть включенным. Только установите boot: true на слой, который вы хотите включить в функцию define.

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