Да, exists()
считается чтением к вашему счету. Они также учитывают максимальное число операций чтения , которое вы можете выполнить за запрос .
Я думаю, это зависит от того, насколько вероятно, что у ваших пользователей уже есть кэшированный файл google cdn после посещения другого сайта, использующего тот же актив.
Я считаю, что лучше использовать CDN, так как он минифицирован и, скорее всего, файл вообще не нужно загружать. Комбинируйте и минифицируйте все остальное.
Мне было бы интересно узнать соотношение hit-miss глобального кэша для этих файлов библиотеки google cdn.
Я объединяю, минимизирую ( используя замыкание ) и использую (akamai) CDN. Но самый важный совет для веб-производительности:
асинхронная загрузка: вы можете использовать этот скрипт для загрузки ваших внешних JS файлы
(function() {
setTimeout(function(){
var sc = document.createElement('script'); sc.type = 'text/javascript'; sc.async = true;
sc.src = 'youfile';
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(sc);
},0);
})();
Использование CDN и комбинирование / минимизация служат различным целям. Если вы можете использовать оба.
Если вы можете найти способ использовать оба, это здорово
Хотя объединение файлов Javascript может превратиться в более сложное дело, чем просто минимизировать их.
Вы можете использовать другие CDN, если хотите (Amazon CloudFront)
Наверное, особой разницы не будет.
Файлы javascript небольшие и статические, они будут кэшироваться браузерами пользователей. Используя копию, хранящуюся в Google CDN, вашим пользователям, возможно, даже не придется загружать скрипт при первом посещении вашего сайта.
Однако, используя копию Google, вы также вводите зависимость от Google. Если их серверы выйдут из строя (чего, вероятно, не произойдет - по крайней мере, в ближайшем будущем), ваш сайт может работать некорректно.