В большинстве современных веб-проектов управление зависимостями осуществляется через пакетные менеджеры. Наиболее распространёнными инструментами являются npm и Yarn. Оба менеджера позволяют устанавливать сторонние библиотеки из репозитория npm Registry, автоматически управлять версиями зависимостей и интегрировать их в систему сборки проекта.
Библиотека Interact.js распространяется как npm-пакет и может быть установлена напрямую в проект. После установки библиотека становится частью локальных зависимостей и может импортироваться в JavaScript-коде.
Перед установкой библиотеки необходимо убедиться, что проект содержит
файл package.json. Этот файл хранит информацию о
зависимостях, версиях библиотек и настройках проекта.
Если файл ещё не создан, выполняется команда:
npm init -y
После выполнения команды в корне проекта создаётся файл
package.json со стандартной конфигурацией.
Для установки библиотеки используется команда:
npm install interactjs
После выполнения команды происходят следующие действия:
node_modulespackage.jsonПример записи в package.json:
{
"dependencies": {
"interactjs": "^1.10.17"
}
}
Символ ^ означает, что пакетный менеджер может
автоматически обновлять минорные версии, сохраняя
совместимость API.
Иногда библиотека используется только на этапе разработки. В таких
случаях зависимость помещается в раздел
devDependencies.
Команда установки:
npm install interactjs --save-dev
В package.json появляется запись:
{
"devDependencies": {
"interactjs": "^1.10.17"
}
}
Однако для Interact.js чаще используется обычная зависимость, поскольку библиотека работает непосредственно в клиентском коде.
После установки структура проекта может выглядеть следующим образом:
project/
│
├── node_modules/
│ └── interactjs/
│
├── src/
│ └── index.js
│
├── package.json
└── package-lock.json
Файл package-lock.json фиксирует точные версии
установленных пакетов и обеспечивает воспроизводимость установки
зависимостей.
После установки Interact.js можно импортировать в JavaScript-модуль.
import interact from 'interactjs';
Этот способ используется в большинстве современных проектов, особенно при работе с сборщиками:
Если проект использует систему модулей CommonJS (например, старые конфигурации Node.js или Webpack), применяется синтаксис:
const interact = require('interactjs');
Минимальный пример использования после установки:
import interact from 'interactjs';
interact('.draggable').draggable({
listeners: {
move(event) {
const target = event.target;
const x = (parseFloat(target.getAttribute('data-x')) || 0) + event.dx;
const y = (parseFloat(target.getAttribute('data-y')) || 0) + event.dy;
target.style.transform = `translate(${x}px, ${y}px)`;
target.setAttribute('data-x', x);
target.setAttribute('data-y', y);
}
}
});
Этот код подключает библиотеку и добавляет возможность перетаскивания
элементам с классом .draggable.
Если используется пакетный менеджер Yarn, также
требуется файл package.json. Его можно создать
командой:
yarn init -y
Основная команда установки:
yarn add interactjs
После установки Yarn:
node_modulespackage.jsonyarn.lockПример записи:
{
"dependencies": {
"interactjs": "^1.10.17"
}
}
Для установки только в среде разработки используется команда:
yarn add interactjs --dev
Зависимость будет добавлена в раздел
devDependencies.
project/
│
├── node_modules/
│ └── interactjs/
│
├── src/
│ └── app.js
│
├── package.json
└── yarn.lock
Файл yarn.lock фиксирует точные версии всех зависимостей
и гарантирует одинаковую установку пакетов на разных машинах.
| Характеристика | npm | Yarn |
|---|---|---|
| Команда установки | npm install interactjs |
yarn add interactjs |
| Файл блокировки | package-lock.json |
yarn.lock |
| Скорость установки | стандартная | часто быстрее благодаря кешированию |
| Работа с зависимостями | последовательная | более эффективная параллельная установка |
Несмотря на различия, обе системы устанавливают один и тот же пакет из одного репозитория.
Иногда требуется зафиксировать определённую версию Interact.js.
npm install interactjs@1.10.17
yarn add interactjs@1.10.17
После установки версия будет зафиксирована в
package.json:
{
"dependencies": {
"interactjs": "1.10.17"
}
}
Отсутствие символов ^ или ~ означает
строгую привязку к указанной версии.
npm list interactjs
yarn list interactjs
Результат показывает установленную версию библиотеки и её положение в дереве зависимостей проекта.
npm update interactjs
yarn upgrade interactjs
Обновление происходит в соответствии с диапазоном версий, указанным в
package.json.
Иногда требуется удалить библиотеку из проекта.
npm uninstall interactjs
yarn remove interactjs
После удаления:
node_modulespackage.jsonПосле установки библиотека может быть интегрирована в систему сборки.
Наиболее распространённые инструменты:
В таких проектах Interact.js импортируется в основной модуль приложения:
import interact from 'interactjs';
Сборщик автоматически включит библиотеку в итоговый bundle.
Interact.js распространяется как модуль, поддерживающий современные системы сборки. Это позволяет сборщикам применять tree-shaking — удаление неиспользуемого кода.
Однако Interact.js чаще используется как единый модуль, поэтому эффект tree-shaking может быть ограничен. Оптимизация обычно выполняется на уровне:
После установки и импорта библиотеки необходимо убедиться, что сборка проекта проходит без ошибок. Проверка обычно выполняется запуском dev-сервера.
Пример команды:
npm run dev
или
yarn dev
Если Interact.js установлен и импортирован корректно, библиотека будет доступна в коде и готова к использованию для реализации: