Cleave.js подключается через CDN как внешняя JavaScript-библиотека, загружаемая напрямую из сети без установки через npm или сборочные системы. Такой способ используется в ситуациях, где требуется быстрое подключение форматирования ввода без настройки сборки проекта, конфигурации зависимостей или транспиляции кода.
CDN (Content Delivery Network) предоставляет готовые версии библиотек, размещённые на распределённых серверах. При использовании Cleave.js через CDN браузер загружает уже собранный файл библиотеки по прямой ссылке, после чего становится доступен глобальный конструктор для форматирования полей ввода.
Подключение происходит через стандартный тег
<script>, размещаемый в HTML-документе. Библиотека не
требует дополнительных зависимостей и работает в браузерной среде сразу
после загрузки.
Наиболее распространённые CDN, предоставляющие Cleave.js:
Каждый источник предоставляет идентичную сборку библиотеки, различается только инфраструктура доставки.
Примеры подключений:
cdnjs: Cleave.js on cdnjs
jsDelivr: Cleave.js on jsDelivr
unpkg: Cleave.js on unpkg
После выбора CDN-источника библиотека подключается в HTML-документ следующим образом:
<script src="https://cdnjs.cloudflare.com/ajax/libs/cleave.js/1.6.0/cleave.min.js"></script>
Либо альтернативные варианты:
<script src="https://cdn.jsdelivr.net/npm/cleave.js@1.6.0/dist/cleave.min.js"></script>
<script src="https://unpkg.com/cleave.js@1.6.0/dist/cleave.min.js"></script>
Подключение обычно размещается перед закрывающим тегом
</body>, чтобы DOM уже был загружен к моменту
инициализации скриптов.
После загрузки через CDN библиотека предоставляет глобальный
конструктор Cleave. Он становится доступен без импортов и
дополнительных настроек модулей.
Проверка доступности выполняется через обращение к глобальному объекту:
console.log(typeof Cleave);
Результатом является функция-конструктор, используемая для создания экземпляров форматирования.
После подключения библиотеки создаётся экземпляр форматирования для HTML-элемента input. Основной принцип заключается в привязке к DOM-узлу и передаче конфигурации форматирования.
<input id="phone" type="text">
new Cleave('#phone', {
phone: true,
phoneRegionCode: 'KZ'
});
Библиотека автоматически перехватывает ввод и применяет маску без дополнительной обработки событий клавиатуры.
CDN-подключение не ограничивает количество используемых экземпляров. Каждый input может иметь собственную конфигурацию форматирования.
<input id="date">
<input id="credit-card">
<input id="phone">
new Cleave('#date', {
date: true,
datePattern: ['d', 'm', 'Y']
});
new Cleave('#credit-card', {
creditCard: true
});
new Cleave('#phone', {
phone: true,
phoneRegionCode: 'RU'
});
Каждый экземпляр работает независимо, используя единый загруженный код библиотеки.
При подключении через CDN критическим фактором является порядок загрузки. Скрипт Cleave.js должен быть загружен до выполнения инициализационного кода.
Типичная структура документа:
<script src="https://cdn.jsdelivr.net/npm/cleave.js@1.6.0/dist/cleave.min.js"></script>
<script>
document.addEventListener('DOMContentLoaded', function () {
new Cleave('#phone', {
phone: true,
phoneRegionCode: 'KZ'
});
});
</script>
Использование события DOMContentLoaded обеспечивает
корректную работу независимо от позиции скриптов в документе.
CDN-ссылки содержат номер версии библиотеки. Это фиксирует поведение и исключает непредсказуемые изменения при обновлениях.
Пример фиксации версии:
@1.6.0 в jsDelivr/1.6.0/ в cdnjsЗамена версии в URL приводит к использованию другой сборки без изменения кода приложения.
CDN активно использует кэширование на стороне браузера и промежуточных узлов сети. Это снижает время загрузки при повторных посещениях страницы.
Файл библиотеки загружается один раз, после чего используется локальная копия до истечения срока кэша или смены версии в URL.
Использование CDN накладывает ряд технических ограничений:
При этом для простых страниц и прототипов такие ограничения не влияют на функциональность форматирования ввода.
Cleave.js, загруженный через CDN, может использоваться совместно с любыми фронтенд-библиотеками. Конфликты минимальны, так как библиотека работает через изолированные экземпляры и не модифицирует глобальные прототипы объектов JavaScript.
Типичный сценарий включает интеграцию с:
Каждый случай использует один и тот же механизм инициализации через
глобальный Cleave.
Повторное создание экземпляра на одном и том же DOM-элементе приводит к наложению логики форматирования. Поэтому при динамических интерфейсах используется контроль и очистка предыдущих экземпляров перед повторным применением.
Библиотека не требует сложной конфигурации для базового сценария, что делает CDN-подключение достаточным для большинства задач форматирования пользовательского ввода.