Просмотр полной версии : Sencha Cmd: Подключение jQuery
khusamov
08.05.2016, 20:24
Правильно я подключил jQuery?
app.json:
"js": [
{
"path": "${framework.dir}/build/ext-all-rtl-debug.js"
},
{
"path": "app.js",
"bundle": true
},
{
"path": "https://yastatic.net/jquery/2.2.3/jquery.min.js"
}
],
Не совсем:
"js": [{
"path": "https://yastatic.net/jquery/2.2.3/jquery.min.js",
"includeInBundle": true
}, {
"path": "app.js",
"bundle": true
}]
При такой конфигурации код jQuery всегда будет идти перед вашим приложением в app.js, и вы избежите потенциальных проблем с порядком инициализации.
khusamov
09.05.2016, 20:09
Это надо в корне делать или для production и develop ставить разные c min и без min?
Если вы не собираетесь отлаживать код jQuery, то можно добавить в корень - пускай всегда будет минифицированный скрипт.
khusamov
09.05.2016, 22:58
А для чего эти опции? Перевод особо не помог понять их смысл.
* // Set to true on one file to indicate that it should become the container
* // for the concatenated classes.
* //
* "bundle": false, // OPTIONAL
*
* // Set to true to include this file in the concatenated classes.
* //
* "includeInBundle": false, // OPTIONAL
Опция "bundle" означает, что данный скрипт будет контейнером для всех остальных, т.е. сборкой. Опция "includeInBundle" означает, что данный скрипт нужно включать в сборку. Если эта опция не указана, то скрипт будет загружаться динамически с указанного URL.
Сторонние библиотеки лучше всегда включать в сборку, чтобы потом не было головной боли с упавшим CDN, изменившимися URL, устаревшими версиями библиотек и прочими событиями вне вашего контроля.
khusamov
10.05.2016, 07:42
Не, так не годится. Я же написал, что перевод ничего не дал. А вы по сути просто перевели.
Что такое "сборка"? Что такое "контейнер"? Что значит "включить в сборку"?
.
Вот я долго думал, как на такие претензии отвечать, а потом понял, что вообще отвечать не хочу. Мне не нравится ваш тон и общая посылка, что я как будто обязан вам отвечать и всё разжёвывать. Ну так вот, не обязан. Мне за участие в этом форуме денег не платят, я здесь присутствую только по своей доброй воле и в своё личное время, которое нынче в дефиците.
Так что вот, пока вы публично не извинитесь, я вам больше помогать не буду.
khusamov
12.05.2016, 06:53
Тоже долго думал над своим постом. Хотел написать в шутливом тоне. А вышло вон как. Обиделись. Мы уже с вами давно переписываемся и у вас должно было появится представление об мне как человеке, который вот так просто не будет наезжать с необоснованными претензиями. Потому, прошу извинить за некорректный шутливый тон своего поста.
Спасибо, извинения приняты. Я тоже погорячился.
Возвращаясь к нашим баранам: сборка, она же свёрток (bundle), это файл, в который собирают весь JavaScript. Посмотрите на результат production build, там вы увидите index.html и один жирный файл app.js, в котором живёт всё.
Так вот опция "bundle" как раз и означает, что файл по данному пути будет тем самым паровозом, к которому будут цеплять всё остальное. Всё остальное это framework и прочие скрипты, помеченные как includeInBundle. Все нужные исходники из framework будут подключены автоматически перед началом файла bundle, а includeInBundle будут включены перед и после bundle в порядке, указанном в массиве "js".
khusamov
13.05.2016, 12:56
Я рад что все разъяснилось)
1) Выходит запись с bundle=true должна быть в одном экземпляре?
2) В общем не получается поработать с includeInBundle. Написал в другой ветке: http://javascript.ru/forum/extjs/62964-sencha-cmd-strannoe-povedenie-opcii-includeinbundle-true.html
nohuhu,
Спасибо за такой развернутый и абсолютно понятный ответ. Мне тоже не хватало понимания, как оказалось, достаточно простого описания.
vBulletin® v3.6.7, Copyright ©2000-2025, Jelsoft Enterprises Ltd. Перевод: zCarot