Dojo на CDN против собственной установки

Я довольно часто использую Dojo, но на сегодняшний день я использовал его только путем включения из CDN, такого как AOL/Google.

Есть ли преимущества в размещении копии Dojo по сравнению с использованием ее через CDN? У меня нет особой необходимости изменять кодовую базу, но я думаю, что есть другие преимущества/недостатки?


person Peter    schedule 17.12.2009    source источник


Ответы (4)


разместив собственную среду Dojo. например, вы можете сделать собственную сборку додзё. Таким образом, вам нужно загрузить только один файл *.js. Это экономит трафик, используемый запросами xhr.

-jstr

person hans    schedule 17.12.2009
comment
Да, пользовательские сборки должны быть основной причиной для самостоятельного размещения. - person Horst Gutmann; 17.12.2009
comment
Не совсем мощь пользовательской сборки, но есть несколько «стандартных» слоев, включенных в CDN, например dijit.js, которые сойдутся вместе с dojo.require('dijit.dijit') - person peller; 17.12.2009
comment
Это интересно. Будет ли использование пользовательской сборки означать изменение файла 'dojo.require', который я использую в настоящее время? - person Peter; 18.12.2009
comment
jep, создав пользовательский buid и включив его, вам больше не нужны никакие dojo.requires, потому что все необходимые ресурсы включены в файл, который загружается с помощью тега ‹script ... /›. - person hans; 18.12.2009
comment
Вы все равно должны использовать dojo.requires там, где это необходимо, в случае изменения конфигурации. Dojo.require не работает, если класс уже загружен. - person Kyle Hayes; 06.09.2011

Недостатком хостинга чего-либо извне является то, что у вас нет контроля над этим. Вы не получите этого с Google/AOL CDN, но вы можете столкнуться с той же проблемой, с которой BootyCall столкнулся при использовании Doug Crockfords json.js с его сайта. http://ajaxian.com/archives/doug-crockford-and-the-online-booty-call-saga

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

person AutomatedTester    schedule 17.12.2009
comment
Спасибо - действительно полезный пример. Требует ли много работы установка срока действия сборки? - person Peter; 18.12.2009
comment
нет, обычно он просто обновляет ваш веб-сервер соответствующими данными, например. при установке apache mod_expires http://httpd.apache.org/docs/2.0/mod/mod_expires.html - person AutomatedTester; 18.12.2009

+1 за пользовательскую сборку.

Мы используем Dojo в продукте, для которого не гарантируется доступ к Интернету, поэтому мы поставляем его со встроенным Dojo как часть нашего продукта.

person Craig Swing    schedule 16.03.2012

Нельзя ли совместить два подхода? Я попытался настроить свой dojoConfig так, чтобы он имел следующий baseUrl //ajax.googleapis.com/ajax/libs/dojo/1.8.3/, и в то же время тег script указывает на пользовательский файл сборки dojo. Проблема в том, что когда я загружаю пользовательский файл dojo.js, файлы NLS (например, dojo_en-US.js) не загружаются. Не удалось найти обходной путь.

На мой взгляд, пока среда развертывания открыта для CDN, это будет лучшим решением по нескольким причинам (как уже указывали другие): 1. Пользовательское додзё снижает XHR и повышает производительность. 2. В случае, если пользовательская сборка не завершена. (кто-то добавил требование), XHR обслуживается намного быстрее 3. Есть ресурсы (например, изображения), которые нельзя встроить в пользовательскую сборку, поэтому предпочтительнее загружать их из CDN 4. Упаковка и развертывание приложения намного быстрее, потому что он должен содержать только файл dojo.js, а не все ресурсы выпуска dojo.

Я был бы рад, если бы кто-нибудь мог доказать, что я ошибаюсь, и сказать мне, как я могу объединить два подхода.

Спасибо, Лиор

person Lior Chaga    schedule 24.03.2013