jsDelivr - это мощный открытый CDN, который давно зарекомендовал себя как надежная платформа для доставки JavaScript-библиотек и других веб-ресурсов. Сайт работает уже с 2012 года, и за это время с...
jsDelivr - это мощный открытый CDN, который давно зарекомендовал себя как надежная платформа для доставки JavaScript-библиотек и других веб-ресурсов. Сайт работает уже с 2012 года, и за это время стал одним из самых популярных решений для тех, кто хочет быстро подключить библиотеки без лишних хлопот.
По сути, это бесплатный CDN, специализирующийся на передаче JS и ESM-модулей из npm и GitHub. Он умеет работать со всеми типами веб-файлов, будь то CSS, HTML или просто статичные файлы. Это не просто сервер, а целая система, которая автоматически обрабатывает запросы, кэширует контент, минифицирует код и применяет современные протоколы, такие как HTTP3 и Brotli-сжатие.
Пользователи могут загружать любые пакеты прямо из npm только по одной ссылке: codecdn.jsdelivr.netnpmpackage@versionfilecode. Пример? Возьмем jQuery v3.6.4 - всё, что нужно сделать, это вставить вот эту ссылку:
blockquotehttps:[email protected]Всё будет работать мгновенно, даже если версия указана через диапазон или вообще без номера версии (правда, последнее - не стоит использовать в продакшене).
Система устроена так, чтобы быть максимально быстрой, надежной и автономной. У них более 540 точек присутствия по всему миру, много CDN-провайдеров и три DNS-провайдера. Это обеспечивает низкую задержку, особенно для пользователей из Азии - здесь есть специальная Near China сеть. Система сама выбирает лучший маршрут, делает баланс нагрузки и при этом имеет резервные пути на случай отказа.
Каждый раз, когда кто-то запрашивает файл, jsDelivr проверяет, есть ли он уже в кэше. Если нет - берёт его из исходного источника (npm или GitHub), обрабатывает (минифицирует, компрессирует) и сохраняет. При этом, если файла минифицированного нет, сервис сам создаст его. Да, вы правильно поняли - он генерит min-версию на лету.
Ничего не нужно настраивать. Никаких аккаунтов. Просто ссылка. Вы можете загружать несколько файлов одновременно, комбинировать их прямо в запросе, подключать source map, пользоваться алиасами версий. Даже можно просто написать codecode после имени пакета - и получить список всех доступных файлов.
А ещё они поддерживают ESM-модули. Можно импортировать библиотеки через import прямо из браузера, как это сделано в новых стандартах JavaScript. Например:
blockquoteimport Fireworks from https:esm.runfireworks-js;blockquoteТеперь, когда у вас есть объект, можно сразу начинать использовать его. Как будто всё было локально.
Ведь многие думают: А зачем вообще нужен CDN? У меня свой сервер. Но вот проблема - хранить огромное количество библиотек, обновлять их, оптимизировать, раздавать по всему миру Это сложно. А с jsDelivr все эти задачи берёт на себя система. Плюс, они отслеживают статистику: сколько людей скачало какой пакет, какие версии в тренде, какие именно файлы пользуются популярностью.
Информация о том, что сервис обслуживает более 150 миллиардов запросов в месяц и пересылает больше 5 тысяч терабайт данных - не просто цифры. Это реальные показатели масштаба. Такого количества трафика не каждый может выдержать без сбоев.
У них даже есть API. Да-да, настоящий открытый API, который позволяет получать данные о пакетах npm: список версий, доступные файлы, точку входа (entry point), статистику загрузок. И это не просто данные - система анализирует метаданные пакета и поведение пользователей, чтобы понять, какой именно файл нужно подгружать.
Например, если запрашивать [email protected], то получишь JSON с указанием, где находится minified JS и CSS-файл. Это особенно полезно при автоматизации сборки или интеграции в IDE.
jsDelivr живёт за счёт спонсоров. Важно отметить, что это open source, бесплатно работает для всех. Они не продают доступ, не ограничивают по количеству запросов, не требуют подписки. Просто держат всё в порядке. Поддерживается через GitHub, Twitter, Discord - вся коммуникация открыта.
Есть возможность использовать кастомные CDN-эндпоинты. Если у вас свой проект, который нужно быстро развернуть на высокой скорости - jsDelivr готов помочь. Хотя, судя по данным, текущая нагрузка на такие зоны пока нулевая. Но сам факт наличия такой функции говорит о гибкости системы.
Да, можно, но только если вы используете конкретную версию пакета. Использование @latest в продакшене - плохая идея, потому что изменения могут сломать ваш код без предупреждения.
Точно! Если файл .min нет, а вы запрашиваете его - сервис попытается создать минифицированную версию на лету. Это удобно, особенно когда библиотека не всегда даёт min-файлы.
Все файлы доступны почти мгновенно. Главное - чтобы они были опубликованы в правильной структуре. Иногда приходится подождать немного, пока система их обработает, но в целом работает быстро.
Нет, никаких таких ограничений. Платформа рассчитана на огромные нагрузки и обслуживает миллиарды запросов каждый месяц. Вы можете загружать любые файлы без страха превышения лимитов.
Конечно, просто обратитесь к v1packagesnpmназвание_пакетаversions. Там будет полный список всех релизов, которые доступны. Полезно для автоматизации и проверок совместимости.
Domain Name: JSDELIVR.COM
Registrar: Amazon Registrar, Inc.
Domain Status: client delete prohibited
Domain Status: client transfer prohibited
Domain Status: client update prohibited
Creation Date: 2012-05-16T21:34:58Z
Registry Expiry Date: 2026-05-16T21:34:58Z
Updated Date: 2026-01-23T18:13:53Z
Name Server: PEDRO.NS.CLOUDFLARE.COM
Name Server: SAANVI.NS.CLOUDFLARE.COM
REGISTRAR Contact: Amazon Registrar, Inc.
>>> Last update of RDAP database: 2026-03-16T17:00:51Z
| Položaj | Fraza | Stranica | Isječak |
|---|---|---|---|
| 2 | /package/npm/pdfkit | ||
| 6 | /package/npm/html-xxx-inject | ||
| 8 | /package/npm/@freedomsex/api-resource | ||
| 15 | /package/npm/js-deobfuscator | ||
| 16 | /package/npm/discord-youtube | ||
| 21 | /package/npm/steam-server-status | ||
| 23 | /package/npm/yandex-metrica-ab-react | ||
| 24 | /package/npm/ts-model | ||
| 25 | /package/npm/alfred-mac-torrents | ||
| 33 | /package/npm/java-localdatetime |