Dojo на CDN срещу собствена инсталация

Използвам доста Dojo, но досега съм го използвал само чрез включване от CDN като AOL/Google.

Има ли предимства да хоствате копие на Dojo, вместо да го използвате чрез CDN? Нямам голяма нужда да променям кодовата база, но предполагам, че има други предимства/недостатъци?


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


Отговори (4)


като хоствате свой собствен Dojo env. можете например да направите персонализирана компилация на доджо. Така че трябва да заредите само един *.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 е no-op, ако класът вече е зареден. - person Kyle Hayes; 06.09.2011

Недостатъкът на хостването на нещо външно е, че нямате контрол върху него. Няма да получите това с Google/AOL CDN, но може да се сблъскате със същия проблем, който получи BootyCall, когато използваше json.js на Doug Crockfords от неговия сайт. 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/ и в същото време тагът на скрипта сочи към персонализиран файл за изграждане на 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