Конструктор URL для CDN jsDelivr.com
jsDelivr – это быстрая бесплатная CDN, созданная украинским разработчиком, которая может хранить у себя файлы разных типов, используемых на сайтах, такие, как: JavaScript-файлы, CSS-файлы, картинки, шрифты. Здесь можно найти большое количество популярных плагинов, библиотек, фреймворков и т.п.
Я начал пользоваться данной CDN после того, как прочитал о ней недавнюю статью на Хабре.
Статистика времени доступа к различным популярным CDN показывает (посмотреть ее можно, например, здесь), что jsDelivr, как минимум не уступает им по скорости загрузки.
Одной из интересных особенностей jsDelivr является возможность объединять ссылки нескольких проектов в одну общую ссылку, что позволяет уменьшить количество HTTP-запросов. То есть, к примеру, имеем такие ссылки на jQuery и плагины bxSlider и jQuery Countdown:
//cdn.jsdelivr.net/jquery/2.1.1/jquery.min.js
//cdn.jsdelivr.net/bxslider/4.1.1/jquery.bxslider.min.js
//cdn.jsdelivr.net/countdown/2.0.0/jquery.countdown-ru.js
//cdn.jsdelivr.net/countdown/2.0.0/jquery.countdown.min.js
Общая ссылка для них будет следующей:
//cdn.jsdelivr.net/g/jquery@2.1.1,bxslider@4.1.1,countdown@2.0.0(jquery.countdown-ru.js+jquery.countdown.min.js)
К сожалению, на сайте jsDelivr, нет возможности быстро создавать подобные комбинированные ссылки, но, к счастью, у проекта есть API, благодаря чему я создал конструктор URL для js-файлов, который и решает данную задачу.
Принцип его использования очень прост:
- Ищем проект по его названию (можно ввести только часть названия).
- Отмечаем файлы проекта, которые нам нужны.
- … повторяем первые 2 пункта сколько угодно раз …
- Получаем итоговую общую ссылку.
Опционально к ссылке с результатом можно добавить тег <script>
и протокол http
.
Исходный код конструктора общедоступен и распространяется под лицензией MIT, при необходимости вы можете скопировать его себе со страницы сервиса на GitHub.
Комментарии (8)
главный плюс cdn – вероятность, что пользователь уже имеет данный файл, но есть интересная статья по поводу jquery и cdn, вывод которой – не очень то и нужно использовать cdn.
К тому же, а если упадет сервис? вот недавно упал вк и всё, некоторые сайты грузились по полчаса из-за того что код кнопки вк разместили в head :)
в целом, идея, конечно, хорошая. Но я пока стараюсь по работе использовать локально.
Не так давно jquery забыли продлить сертификат :) и всё что тянулось с ихнего CDN – отломилось.
Однако CDN сильно ускоряет загрузку (особенно если много картинок) и упрощает разработку, падения cdn – очень большая редкость, гораздо реже, чем к примеру падение собственно сайта, использующего CDN.
Дима, а ты formstyler не сабмитил туда?
Нет, но я думал об этом уже не раз, т.к. самому было бы удобнее. Только не знаю, принимают ли туда проекты не на английском. По идее, проблем с этим не должно быть.
Думаю попробовать стоит. Плагин полезный, к тому же не совсем то и забугорный ресурс :)
К сожалению, облом =( Разработчик сервиса сказал, что сперва нужно перевести на английский. А в данном случае для меня это слишком сложно.
Оказалось, что на английском достаточно сделать только описание плагина, которое будет отображаться на jsDelivr, так что скоро он будет там.
:(
статья выше, говорит об обратном :)
+ не так то и близко их серверы к нам
насчет картинок – да. насчет скриптов – не всегда да :)
в Казахстане одно время блокировали сервера и гугл попал под блок, а я в основном тянул шрифты с google fonts, пришлось потом переделывать :( сейчас избегаю таких вещей)
Тесты тестами, но они не могут учитывать особенностей конкретного проекта, да и не совсем понял я статью (в английском не силён к сожалению).
Вот к примеру имеем сайт, к которому подключено 10-15 скриптов, разработчик не удосужился их объединить, не говоря уже про сжатие.
Плюс 10-15 css файлов, ну и 50-100 картинок.
Кол-во одновременных http соединений в браузере ~ 6.
Если убрать скрипты и стили на cdn – как минимум получим небольшое ускорение.
Или другой пример – надо быстро сделать страничку/мастер установки чего-либо и отдать клиенту, при этом пересылать ему кучу из js,css,php/html, и потом объяснять что и куда класть совсем не имеет смысла. Тогда CDM – “то, что доктор прописал”.
С другой стороны вероятность того, что браузер возьмёт из кеша набор из нескольких скриптов крайне мала т.к. на каждом сайте этот набор свой и тогда прирост в скорости не будет толком ощущаться, если сайт сделан по уму.