Awesomplete подключается к проекту как лёгкая автономная библиотека без внешних зависимостей, что позволяет использовать её как в простых HTML-страницах, так и в современных сборках на базе модульных систем. Основные способы загрузки зависят от окружения: подключение через CDN, установка через пакетные менеджеры, импорт как ES-модуля или интеграция в сборщики вроде Webpack, Vite и Rollup.
Самый быстрый способ начать работу — использование готовых файлов библиотеки через CDN. В этом случае не требуется установка зависимостей и настройка сборки.
Базовое подключение выглядит следующим образом:
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/awesomplete/1.1.5/awesomplete.min.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/awesomplete/1.1.5/awesomplete.min.js"></script>
Подключение CSS-файла обязательно, так как он отвечает за базовую визуализацию выпадающего списка автодополнения. Без него библиотека продолжит работать, но интерфейс будет неоформленным.
После загрузки скрипта глобально становится доступен конструктор
Awesomplete, который можно использовать напрямую:
<input id="city">
<script>
new Awesomplete(document.querySelector("#city"), {
list: ["London", "Paris", "Berlin"]
});
</script>
CDN-способ особенно удобен для прототипов, учебных примеров и небольших проектов без сборки.
При необходимости можно скачать библиотеку и подключить её локально. Обычно используются два файла:
awesomplete.min.jsawesomplete.min.cssСтруктура подключения аналогична CDN-варианту:
<link rel="stylesheet" href="/assets/awesomplete.css">
<script src="/assets/awesomplete.js"></script>
Такой подход обеспечивает полный контроль над версией библиотеки и исключает зависимость от внешних сервисов.
В проектах с Node.js Awesomplete устанавливается через npm:
npm install awesomplete
После установки пакет попадает в node_modules, и его
можно импортировать в коде.
Важно учитывать, что сама библиотека распространяется как UMD-модуль, поэтому поддерживает разные сценарии импорта.
В современных сборщиках поддерживается импорт через ES Modules:
import Awesomplete from "awesomplete";
import "awesomplete/awesomplete.css";
Данный вариант удобен в проектах на базе Vite или Rollup, где нативная работа с ESM является стандартом.
После импорта библиотека используется так же, как и в браузерной версии:
const input = document.querySelector("#city");
new Awesomplete(input, {
list: ["Tokyo", "Seoul", "Kyoto"]
});
В средах, использующих CommonJS (например, старые конфигурации
Webpack или Node-окружения), применяется require:
const Awesomplete = require("awesomplete");
require("awesomplete/awesomplete.css");
Такой способ сохраняется для совместимости с устаревшими проектами и конфигурациями сборки.
В сборочных системах важно учитывать обработку CSS. Awesomplete не разделяет стили и логику в едином JS-файле, поэтому стили должны быть импортированы отдельно.
Типовой сценарий для Webpack:
import Awesomplete from "awesomplete";
import "awesomplete/awesomplete.css";
const input = document.querySelector("#city");
new Awesomplete(input, {
list: ["Madrid", "Rome", "Lisbon"]
});
При использовании Vite поведение аналогичное, так как он нативно поддерживает импорт CSS из node_modules.
В проектах без сборщика можно комбинировать npm-установку и ручное
подключение файлов из node_modules:
<link rel="stylesheet" href="/node_modules/awesomplete/awesomplete.css">
<script src="/node_modules/awesomplete/awesomplete.min.js"></script>
Такой подход применяется редко, но полезен в простых серверных окружениях или при локальной разработке.
CSS-файл Awesomplete является обязательной частью визуального слоя. Он содержит стили для:
При отсутствии стилей библиотека сохраняет функциональность, но теряет интерактивную визуальную составляющую, что делает интерфейс трудночитаемым.
При подключении через <script> важно соблюдать
последовательность:
AwesompleteКорректный порядок:
<link rel="stylesheet" href="awesomplete.css">
<script src="awesomplete.js"></script>
<input id="city">
<script>
new Awesomplete(document.querySelector("#city"), {
list: ["Oslo", "Helsinki", "Stockholm"]
});
</script>
При подключении через CDN или <script> библиотека
регистрируется в глобальном объекте window:
window.Awesomplete
Это позволяет использовать её без модулей, но в современных проектах предпочтение отдаётся изолированным импортам, чтобы избежать загрязнения глобального пространства.
Awesomplete рассчитана на работу в:
Отсутствие зависимостей делает загрузку предсказуемой и минимизирует конфликты с другими библиотеками интерфейсного уровня