Конструктор 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-файлов, который и решает данную задачу.

Конструктор в действии

Принцип его использования очень прост:

  1. Ищем проект по его названию (можно ввести только часть названия).
  2. Отмечаем файлы проекта, которые нам нужны.
  3. … повторяем первые 2 пункта сколько угодно раз …
  4. Получаем итоговую общую ссылку.

Опционально к ссылке с результатом можно добавить тег <script> и протокол http.

Исходный код конструктора общедоступен и распространяется под лицензией MIT, при необходимости вы можете скопировать его себе со страницы сервиса на GitHub.

Комментарии (8)
  1. 1

    главный плюс cdn — вероятность, что пользователь уже имеет данный файл, но есть интересная статья по поводу jquery и cdn, вывод которой — не очень то и нужно использовать cdn.

    К тому же, а если упадет сервис? вот недавно упал вк и всё, некоторые сайты грузились по полчаса из-за того что код кнопки вк разместили в head :)

    в целом, идея, конечно, хорошая. Но я пока стараюсь по работе использовать локально.

  2. 2

    Не так давно jquery забыли продлить сертификат :) и всё что тянулось с ихнего CDN — отломилось.
    Однако CDN сильно ускоряет загрузку (особенно если много картинок) и упрощает разработку, падения cdn — очень большая редкость, гораздо реже, чем к примеру падение собственно сайта, использующего CDN.

    Дима, а ты formstyler не сабмитил туда?

    • 3

      Дима, а ты formstyler не сабмитил туда?

      Нет, но я думал об этом уже не раз, т.к. самому было бы удобнее. Только не знаю, принимают ли туда проекты не на английском. По идее, проблем с этим не должно быть.

    • 7

      с ихнего

      :(

      Однако CDN сильно ускоряет загрузку

      статья выше, говорит об обратном :)
      + не так то и близко их серверы к нам
      насчет картинок — да. насчет скриптов — не всегда да :)

      в Казахстане одно время блокировали сервера и гугл попал под блок, а я в основном тянул шрифты с google fonts, пришлось потом переделывать :( сейчас избегаю таких вещей)

      • 8

        Тесты тестами, но они не могут учитывать особенностей конкретного проекта, да и не совсем понял я статью (в английском не силён к сожалению).
        Вот к примеру имеем сайт, к которому подключено 10-15 скриптов, разработчик не удосужился их объединить, не говоря уже про сжатие.
        Плюс 10-15 css файлов, ну и 50-100 картинок.
        Кол-во одновременных http соединений в браузере ~ 6.
        Если убрать скрипты и стили на cdn — как минимум получим небольшое ускорение.

        Или другой пример — надо быстро сделать страничку/мастер установки чего-либо и отдать клиенту, при этом пересылать ему кучу из js,css,php/html, и потом объяснять что и куда класть совсем не имеет смысла. Тогда CDM — «то, что доктор прописал».

        С другой стороны вероятность того, что браузер возьмёт из кеша набор из нескольких скриптов крайне мала т.к. на каждом сайте этот набор свой и тогда прирост в скорости не будет толком ощущаться, если сайт сделан по уму.