Установка через npm

Waypoints — это небольшая, но мощная библиотека для отслеживания прокрутки страницы и выполнения функций, когда элементы достигают определённой позиции на экране. Для современного проекта на JavaScript чаще всего используется установка через npm, что обеспечивает удобное управление зависимостями и интеграцию с системами сборки, такими как Webpack, Parcel или Vite.


Подготовка проекта

Для начала необходимо иметь проект, инициализированный с помощью npm. Если проекта ещё нет, создаётся новый с помощью команды:

npm init -y

Эта команда создаёт файл package.json, в котором будут храниться все зависимости проекта.


Установка Waypoints

Waypoints доступен как пакет waypoints/lib/noframework.waypoints на npm. Чтобы установить его, используется следующая команда:

npm install waypoints

После выполнения команды в проекте появится директория node_modules, содержащая библиотеку, и запись о зависимости в package.json:

"dependencies": {
  "waypoints": "^4.0.1"
}

Подключение в проекте

1. Через ES6 модули

Если проект использует современный синтаксис модулей, Waypoints импортируется следующим образом:

import Waypoint from 'waypoints/lib/noframework.waypoints';

Важно использовать версию noframework, если проект не зависит от jQuery. Для проектов с jQuery доступна версия:

import 'waypoints/lib/jquery.waypoints';

2. Через CommonJS

Для проектов на Node.js или сборщиков, поддерживающих CommonJS:

const Waypoint = require('waypoints/lib/noframework.waypoints');

3. Проверка подключения

После подключения можно проверить работу библиотеки простым созданием точки срабатывания:

const waypoint = new Waypoint({
  element: document.getElementById('section1'),
  handler: function(direction) {
    console.log('Waypoint сработал при движении:', direction);
  },
  offset: '50%'
});

Ключевые моменты:

  • element — элемент DOM, для которого создаётся точка.
  • handler — функция, выполняемая при достижении точки.
  • offset — смещение точки срабатывания относительно верхней границы окна. Может быть числом (в пикселях) или процентом от высоты окна.

Управление зависимостями и сборка

После установки через npm Waypoints автоматически становится частью процесса сборки:

  • При использовании Webpack или Vite библиотека будет включена в итоговый бандл.
  • При необходимости можно подключать только нужные части Waypoints, импортируя конкретные модули, что снижает размер бандла.
  • Для TypeScript проектов отсутствуют официальные типы, но можно создать собственные декларации:
declare module 'waypoints/lib/noframework.waypoints';

Обновление и удаление

Для обновления до последней версии используется:

npm update waypoints

Для удаления из проекта:

npm uninstall waypoints

Эти команды обновляют package.json и удаляют файлы библиотеки из node_modules.


Интеграция с другими инструментами

Waypoints через npm удобно использовать совместно с современными фронтенд-фреймворками:

  • В React и Vue Waypoints импортируется как модуль, после чего точки создаются в жизненных циклах компонентов (useEffect для React, mounted для Vue).
  • В Angular можно создать сервис для управления точками срабатывания и подключать их через Dependency Injection.

Waypoints через npm позволяет легко управлять версиями библиотеки, интегрировать её с сборщиками и обеспечивать совместимость с современными фронтенд-процессами без зависимости от глобальных скриптов.