Похоже, что вам нужно "собрать" dojo, когда вы загружаете исходный код и хотите запустить его локально.Каким-то образом я пропустил это как требование использования версии dojo с локальным путем.В любом случае, я наконец смог заставить додзё правильно работать локально, выполняя пользовательскую сборку.Я нашел эту ссылку на dojo очень полезной:
http://docs.dojocampus.org/quickstart/custom-builds
В папке util / buildscripts в дистрибутиве dojo также есть несколько предопределенных профилей сборки.Я подозреваю, что вы могли бы использовать один из них для создания всего дистрибутива додзё, но я подумал, что если я попаду в такую большую проблему, возможно, получу из этого оптимизированную сборку.
Мой профиль сборки в итоге выглядел так:
dependencies ={
layers: [
{
name: "mydojo.js",
dependencies: [
"dojox.grid.DataGrid",
"dojox.Data.QueryReadStore",
"dijit.form.ComboBox",
"dijit.form.ValidationTextBox",
"dijit.form.CurrencyTextBox",
"dijit.form.PasswordTextBox",
"dijit.form.RadioButton",
"dijit.form.Button",
"dijit.form.CheckBox",
"dijit.form.DateTextBox"
]
}
],
prefixes: [
[ "dijit", "../dijit" ],
[ "dojox", "../dojox" ]
]
};
Я поместил его в папку / util / buildscripts / profile, названную "myProfile.profile.js".
Затем я запустил скрипт сборки из / util / buildscripts:
./build.sh profile=myProfile action=release optimize=shrinksafe.keepLines layerOptimize=shrinksafe.keepLines releaseName=myRelease localeList=en-us,es-es version=0.1.dev
Скопируйте получившуюся сборку из / release / myRelease в папку javascript вашего сайта, т.е. /js/myRelease/.
Важными параметрами командной строки являются «профиль» и «действие», остальные являются необязательными.Вы можете получить полное описание того, что означает каждый параметр командной строки, по указанному выше URL-адресу.Я настроил эти параметры в соответствии со своими конкретными потребностями - ваши могут быть очень разными, и я привел их только в качестве примера того, как мой выглядел в конце.Если вы используете windows, вместо «build.sh» используйте «build.bat».
Затем, чтобы настроить Zend на использование этой сборки, я сделал следующее в моем файле layout.phtml:
if ($this->dojo()->isEnabled()) {
$this->dojo()->setLocalPath($this->baseUrl() . '/js/myRelease/dojo/dojo.js')
->addStyleSheetModule('dijit.themes.claro')
->setDjConfigOption('isDebug', true)
->setDjConfigOption('debugAtAllCosts', true)
->addLayer($this->baseUrl() . '/js/myRelease/dojo/mydojo.js')
;
}
Использование «addLayer» для пользовательской сборки - вот что, наконец, заставило меня работать.Надеюсь, это поможет кому-то сэкономить немного времени!