Я действительно не знаю, с чего начать.
Я прочитал каждый учебник, статью и сообщение в блоге, чтобы попытаться получить одну вещь, с которой работает dojo, и никогда не сталкивался с такой проблемой, чтобы что-то работать, по крайней мере, просто немного. Я нашел пламенные войны над документацией, а также людей с рабочими сценариями, но ничего не опубликовано или не указано. В SO, я обнаружил, что это очень распространенная проблема, но не решить половину времени.
Отказ от ответственности: забудьте 1.6. Я никогда не использовал 1.6. Поэтому половина моих ресурсов, найденных в Интернете, недействительна, и моя книга тоже. Здесь мы идем.
Вопрос 1
Какая разница между LOT сообщений об использовании этого формата:
dependencies = {
stripConsole: "all",
action: "release",
optimize: "shrinksafe",
// Omitted options...
layers: [{
name: "dojo.js",
customBase : true,
dependencies: [
"dojox.gauges.AnalogNeedleIndicator",
"myApp.smartmix"]
}
],
prefixes: [
[ "dijit", "../dijit" ],
[ "dojox", "../dojox" ],
[ "myApp", "../../../myApp" ]
]
};
... в этом формате:
var profile = {
basePath: './',
stripConsole: 'all',
selectorEngine: 'lite',
layers: {
'dojo/dojo': {
include: ['dojo/dojo', 'dojo/domReady', 'dojo/_base/declare'],
boot: true,
customBase: true
},
'dgrid/dgrid': {
include: ["dgrid/List", "dgrid/OnDemandGrid", "dgrid/Selection", "dgrid/Keyboard", "dgrid/test/data/perf"]
}
}
// static-has-features removed
};
Есть два очень важных различия в объекте layers
между двумя: либо A) Кажется, что все просто "знают" без какой-либо причины или рациональности, или B) Люди просто "знают". Я еще не нашел ничего о различиях между двумя синтаксисами (синтаксис синтаксиса?), Которые имеют какое-либо отношение к новой структуре AMD и переписыванию системы сборки.
Ближайшее, что я видел, это имя объекта не имеет значения, равно как и декларация. Это может быть "глобальная" переменная (исключение ключевого слова var
), или нет, это имя не имеет значения, пока возвращаемый объект содержит необходимую информацию.
Второй формат дает мне ошибку "неожиданного String" и не работает 99% времени, даже при копировании/вставке профилей.
Вопрос 2
Что именно требуется?! В документации dojo указано, что package.json И файл appName.profile.js НЕОБХОДИМО, но во всех обучающих программах, которые я видел, нужен только профиль и используется, если на то пошло. Поэтому половина информации на главном веб-сайте dojo о строительстве не используется. Так........?
Сайт dojo говорит, что для выпуска сборки используется src
. Парень из Nabble сказал, что вы должны получить версию svn
, поскольку версия src уже "построена".
... так кто первым?
Вопрос 3
Кто-нибудь, кто-либо вообще, имеет рабочую структуру каталогов и profile.js
файл, который они хотели бы разделить? Я пробовал ВСЕ. И я имею в виду ВСЕ, чтобы получить сборку. Одно из предложений заключалось в использовании пустого объекта профиля. Это работает, и это бесполезно.
Другое предложение состояло в том, чтобы использовать конструкцию шаблона dojo. Какой хороший шаблон, если какое-либо изменение нарушает его? То, что вы пробовали, является спорным моментом, как я пробовал, по словам Тони Старка, "каждая перестановка каждого известного [изменения объекта JavaScript]. Ничего не работает".
Я теряю веру быстро. Не потому, что я не могу понять это после нескольких часов испытаний и неудач, а потому, что много людей находятся в одной лодке. Это sinkin '.
Заключительный вопрос
Итак, мой последний запрос, может кто-то, ПОЖАЛУЙСТА, пролить свет на то, как работает эта система сборки, а не только ссылки на уже очищенные ссылки на чтение и перечитание, которые можно найти в Google?
Как... вы... настраиваете профиль сборки dojo... и выполняете его... без ошибок?! Это безумие, насколько плохая эта система как A) документирована, так и B) реализована, и пока я на ней C) учил. Это изнурительно.
Некоторые (многие) сайты, которые я посетил:
- Nabble SVN vs. SDK
- Учебник SitePen, который... не создает.
- Профиль "Boilerplate" (из SitePen)
- Dojo Профиль котла (github)
- Dojo Учебник
Update
Большое спасибо @xesxz и @Craig Swing. После нескольких незначительных вещей у меня есть профиль сборки, который отрывается и дает мне то, что мне нужно!