Waypoints — это небольшая, но мощная библиотека для отслеживания прокрутки страницы и выполнения функций, когда элементы достигают определённой позиции на экране. Для современного проекта на JavaScript чаще всего используется установка через npm, что обеспечивает удобное управление зависимостями и интеграцию с системами сборки, такими как Webpack, Parcel или Vite.
Для начала необходимо иметь проект, инициализированный с помощью npm. Если проекта ещё нет, создаётся новый с помощью команды:
npm init -y
Эта команда создаёт файл package.json, в котором будут
храниться все зависимости проекта.
Waypoints доступен как пакет
waypoints/lib/noframework.waypoints на npm. Чтобы
установить его, используется следующая команда:
npm install waypoints
После выполнения команды в проекте появится директория
node_modules, содержащая библиотеку, и запись о зависимости
в package.json:
"dependencies": {
"waypoints": "^4.0.1"
}
Если проект использует современный синтаксис модулей, Waypoints импортируется следующим образом:
import Waypoint from 'waypoints/lib/noframework.waypoints';
Важно использовать версию noframework, если проект не
зависит от jQuery. Для проектов с jQuery доступна версия:
import 'waypoints/lib/jquery.waypoints';
Для проектов на Node.js или сборщиков, поддерживающих CommonJS:
const Waypoint = require('waypoints/lib/noframework.waypoints');
После подключения можно проверить работу библиотеки простым созданием точки срабатывания:
const waypoint = new Waypoint({
element: document.getElementById('section1'),
handler: function(direction) {
console.log('Waypoint сработал при движении:', direction);
},
offset: '50%'
});
Ключевые моменты:
element — элемент DOM, для которого создаётся
точка.handler — функция, выполняемая при достижении
точки.offset — смещение точки срабатывания относительно
верхней границы окна. Может быть числом (в пикселях) или процентом от
высоты окна.После установки через npm Waypoints автоматически становится частью процесса сборки:
declare module 'waypoints/lib/noframework.waypoints';
Для обновления до последней версии используется:
npm update waypoints
Для удаления из проекта:
npm uninstall waypoints
Эти команды обновляют package.json и удаляют файлы
библиотеки из node_modules.
Waypoints через npm удобно использовать совместно с современными фронтенд-фреймворками:
useEffect для
React, mounted для Vue).Waypoints через npm позволяет легко управлять версиями библиотеки, интегрировать её с сборщиками и обеспечивать совместимость с современными фронтенд-процессами без зависимости от глобальных скриптов.