Установка Zepto ориентируется на минимальный вес и простоту интеграции. Библиотека предоставляет базовый набор инструментов для DOM-манипуляций, событий и AJAX в духе jQuery, но без лишнего.
CDN. Наиболее распространённый путь — загрузка готовой сборки Zepto из публичного CDN. Такая схема избавляет от ручного хранения файлов в проекте и позволяет использовать кэш браузера между различными сайтами.
<script src="https://cdnjs.cloudflare.com/ajax/libs/zepto/1.2.0/zepto.min.js"></script>
После загрузки глобальная переменная Zepto и сокращение
$ становятся доступными в пространстве имён страницы.
Дополнительных шагов не требуется.
Локальная копия. Для автономной работы можно скачать
архив проекта с GitHub или иного зеркала, распаковать и положить файл
zepto.min.js в директорию проекта. Подключение производится
через относительный путь:
<script src="/js/zepto.min.js"></script>
Такой подход удобен при работе без сети, а также при необходимости фиксировать конкретную версию библиотеки.
ES-модули. Официальная сборка Zepto не публикуется в виде полноценного ES-модуля, однако сторонние пакеты в npm предоставляют совместимые сборки. После установки:
npm install zepto
можно импортировать:
import $ from 'zepto';
В некоторых конфигурациях сборщиков требуется дополнительная настройка алиасов или шима глобальных переменных, так как исходно Zepto рассчитан на использование в глобальной области видимости.
CommonJS. Обёртки для CommonJS позволяют подключать
библиотеку через require:
var $ = require('zepto');
Подобные варианты не всегда включают плагины Zepto, поэтому при
необходимости модулей (ajax, event,
fx и др.) приходится собирать кастомную версию.
Zepto предоставляет возможность собирать свою конфигурацию из отдельных модулей. Механизм реализован через node-скрипт в репозитории.
Последовательность действий:
npm install).npm run dist с указанием необходимых
модулей.Пример:
npm run dist --modules=zepto,event,ajax,fx
В результате формируется файл в каталоге dist,
содержащий только указанные компоненты. Подобная сборка уменьшает
итоговый размер и исключает ненужные возможности.
Zepto модульный по структуре. Дополнительные компоненты
(ajax, form, fx,
detect и другие) подключаются автоматически при наличии в
итоговом файле, либо через отдельные скрипты:
<script src="zepto.min.js"></script>
<script src="zepto.fx.js"></script>
Плагины должны быть загружены после основной библиотеки. Нарушение порядка приводит к отсутствию пространств имён и ошибкам при вызове методов.
Поскольку Zepto использует $ как сокращение, возникает
пересечение с jQuery и аналогичными инструментами. Решение — режим
noConflict(), возвращающий $ прежнему
владельцу:
var z = $.noConflict();
В этом случае API Zepto становится доступным через переменную
z, а $ освобождается. Такой подход удобен при
миграции и постепенной замене jQuery на более лёгкую альтернативу.
В окружениях вроде Webpack, Vite или Rollup Zepto обычно подключается
как внешний глобальный скрипт. Нативная модульность библиотеки
ограничена, поэтому наиболее надёжная схема — объявить Zepto внешней
зависимостью (externals) и предоставить её в рантайме через
<script>.
При необходимости жёсткой интеграции используют сторонние пакеты-обёртки, обеспечивающие импорт и типизацию, однако такие варианты требуют проверки совместимости модулей и плагинов.
Асинхронное подключение. Чтобы не блокировать
построение DOM, скрипт можно подключать с атрибутом
defer:
<script defer src="zepto.min.js"></script>
Такой способ гарантирует, что библиотека загрузится до выполнения пользовательских скриптов, но не замедлит рендер страницы.
Хеширование и кэширование. При локальном размещении
файла рекомендуется использовать хеши в имени
(zepto.min.abcd1234.js) и длительные заголовки
Cache-Control на уровне сервера. Это минимизирует повторные
загрузки и улучшает TTI.
После подключения работоспособность можно определить через наличие глобальной переменной:
if (window.Zepto) {
console.log('Zepto готов к использованию');
}
В случае модульного импорта проверяется сама переменная
$ или возвращённый объект.
Zepto ориентирован на современные браузеры и мобильные WebKit-движки. Поддержка устаревших API ограничена, поэтому подключение библиотеки в корпоративных или легаси-проектах требует предварительной проверки совместимости и, при необходимости, добавления полифилов для ES5/ES6-функций.