Я действительно не знаю, с чего начать.
Я прочитал каждый учебник, статью и сообщение в блоге, чтобы попытаться получить одну вещь, с которой работает 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. После нескольких незначительных вещей у меня есть профиль сборки, который отрывается и дает мне то, что мне нужно!