Библиотека Driver.js организована так, чтобы обеспечивать простую интеграцию и масштабируемость при использовании в веб-проектах. Основные компоненты распределены по логическим модулям, что позволяет подключать только необходимые части и упрощает поддержку.
dist/ Содержит готовые для
использования сборки библиотеки:
driver.js – основная не минифицированная версия
библиотеки для разработки и отладки.driver.min.js – минифицированная версия,
оптимизированная для продакшн-сборок.driver.css – базовые стили для отображения подсветок и
тултипов.Этот каталог используется при подключении библиотеки через
<script> и <link> без сборщиков
типа Webpack или Vite.
src/ Исходный код библиотеки на
ES6, разделённый на модули:
Driver.js – главный модуль, реализующий логику шагов и
навигации.Step.js – модуль, отвечающий за отдельный шаг турa:
хранение целевого элемента, заголовка, описания и настроек позиции
тултипа.Utils.js – вспомогательные функции для вычислений
положения элементов, проверок видимости и управления DOM.Template.js – шаблоны HTML и CSS для тултипов и
оверлеев, которые потом вставляются динамически.Использование модулей позволяет легко расширять библиотеку и подключать кастомные шаги без вмешательства в основной код.
types/ Содержит определения типов
для TypeScript:
index.d.ts – описание всех публичных методов, опций и
интерфейсов, включая DriverOptions и
StepOptions. Наличие этих типов упрощает автодополнение в
IDE и обеспечивает строгую типизацию при использовании библиотеки в
TypeScript-проектах.examples/ Примеры использования
библиотеки:
Примеры включают HTML, JS и CSS, что позволяет быстро понять принцип работы без изучения исходного кода.
package.json Определяет
зависимости, скрипты сборки и метаданные пакета:
build, watch,
lint."main": "dist/driver.js" для
CommonJS и "module": "dist/driver.esm.js" для ESM.README.md и документация Содержат
базовое описание установки, настройки и использования. Обычно включают
инструкции по инициализации объекта Driver, настройке шагов
и кастомизации стилей.
Driver.js построен на объектно-ориентированной архитектуре:
element), текст
(description), заголовок (title) и позицию
тултипа (position).Все модули связаны через импорты и экспортируются как единый объект для конечного использования, что делает библиотеку гибкой и расширяемой.
rollup.config.js Определяет правила
сборки:
cjs, esm,
iife)..babelrc или
babel.config.js Настройки транспиляции ES6+ кода в
совместимый с браузерами стандарт ES5. Используется для обеспечения
кроссбраузерности, особенно в старых версиях Internet Explorer и
Safari.
Файл driver.css содержит:
.driver-overlay) с прозрачностью и
плавной анимацией..driver-tooltip) с позиционированием и
стрелками, указывающими на целевой элемент.Next,
Previous, Close).Для кастомизации допустимо подключать собственные CSS-файлы и переопределять классы по необходимости.
steps) и глобальными опциями (opacity,
padding, allowClose).moveNext(),
movePrevious() и reset().reset().Структура файлов Driver.js спроектирована с прицелом на модульность, лёгкую интеграцию и расширяемость, обеспечивая разработчикам полный контроль над поведением интерактивных туров.