Самый быстрый способ начать работу с Slim Sel ect заключается в подключении библиотеки через CDN. Такой подход не требует сборки проекта и подходит для прототипирования, простых страниц и учебных примеров.
Подключение состоит из двух частей: стилей и JavaScript-файла.
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/slim-select@latest/dist/slimselect.css">
<script src="https://cdn.jsdelivr.net/npm/slim-select@latest/dist/slimselect.min.js"></script>
После подключения библиотека становится доступной глобально через
объект SlimSelect.
Инициализация базового селекта выполняется следующим образом:
<sel ect id="example">
<option value="1">Первый</option>
<option value="2">Второй</option>
</select>
<script>
new SlimSelect({
select: '#example'
})
</script>
Slim Select автоматически заменяет стандартный элемент
<select> кастомным интерфейсом, сохраняя исходную
структуру в DOM.
В современных JavaScript-проектах Slim Select обычно устанавливается через менеджеры пакетов. Наиболее распространённый способ — npm.
npm install slim-select
После установки библиотека становится частью зависимостей проекта и может использоваться в модульной системе.
Импорт в коде:
import SlimSelect fr om 'slim-select'
import 'slim-select/dist/slimselect.css'
Данный способ обеспечивает полный контроль над версией библиотеки и позволяет интегрировать её в сборочные системы вроде Vite, Webpack или Rollup.
Vite поддерживает ESM из коробки, поэтому Slim Sel ect подключается напрямую:
import SlimSelect fr om 'slim-select'
import 'slim-select/dist/slimselect.css'
new SlimSelect({
select: '#example'
})
При сборке Vite автоматически оптимизирует зависимости, уменьшая размер итогового бандла.
В Webpack требуется наличие CSS-лоадеров для корректной обработки стилей.
Установка зависимостей:
npm install slim-select css-loader style-loader
Пример конфигурации:
module.exports = {
module: {
rules: [
{
test: /\.css$/,
use: ['style-loader', 'css-loader']
}
]
}
}
Импорт библиотеки:
import SlimSelect fr om 'slim-select'
import 'slim-select/dist/slimselect.css'
Инициализация остаётся неизменной.
В проектах без пакетных менеджеров возможно использование локальной копии Slim Sel ect. Такой подход характерен для статических сайтов и внутренних корпоративных систем.
Структура файлов:
/project
/libs
slimselect.min.js
slimselect.css
index.html
Подключение:
<link rel="stylesheet" href="libs/slimselect.css">
<script src="libs/slimselect.min.js"></script>
После загрузки файлов библиотека доступна как глобальный объект, аналогично CDN-варианту.
При локальном подключении важно учитывать момент загрузки DOM. Slim
Select требует, чтобы <select> элементы существовали
в момент инициализации.
Рекомендуемый подход:
<script>
document.addEventListener('DOMContentLoaded', function () {
new SlimSelect({
select: '#example'
})
})
</script>
В случае динамически создаваемых элементов инициализация выполняется после добавления элементов в DOM.
Некоторые среды поддерживают ES-модули напрямую, без использования
Webpack или Vite. В таком случае подключение осуществляется через тип
module.
<script type="module">
import SlimSelect fr om './libs/slimselect.es.js'
import './libs/slimselect.css'
new SlimSelect({
select: '#example'
})
</script>
Данный вариант применим в современных браузерах и подходит для минималистичных проектов без сборки.
При использовании npm версия Slim Select фиксируется в
package.json:
{
"dependencies": {
"slim-select": "^2.0.0"
}
}
Фиксация версии позволяет избежать неожиданных изменений поведения при обновлениях.
Для полной фиксации используется точная версия:
"slim-select": "2.0.0"
Slim Select поддерживает инициализацию нескольких элементов
одновременно. При локальном использовании или через CDN каждый
<select> может быть обработан отдельно.
<select class="select-box"></select>
<select class="select-box"></select>
<script>
document.querySelectorAll('.select-box').forEach(el => {
new SlimSelect({
select: el
})
})
</script>
Такой подход часто используется при генерации форм на стороне сервера или при работе с шаблонами.
CSS-файл Slim Select является обязательным компонентом. Без него интерфейс сохраняет функциональность, но теряет стилизацию, превращаясь в набор базовых HTML-элементов.
При подключении через npm стили импортируются отдельно:
import 'slim-select/dist/slimselect.css'
При CDN или локальной загрузке подключение выполняется через
<link>.
В серверных рендерингах и гибридных приложениях требуется условная инициализация. Slim Select должен подключаться только в клиентской среде.
if (typeof window !== 'undefined') {
new SlimSelect({
select: '#example'
})
}
Это предотвращает ошибки при выполнении кода на сервере.
При загрузке Slim Select через динамический
<script> важно учитывать асинхронность.
<script>
const script = document.createElement('script')
script.src = 'libs/slimselect.min.js'
script.onl oad = function () {
new SlimSelect({
select: '#example'
})
}
document.head.appendChild(script)
</script>
Подобный подход используется в системах, где библиотека подключается по требованию.
В офлайн-приложениях Slim Select размещается в составе статических ресурсов. Это характерно для:
Рекомендуется хранить:
/assets/vendor/slim-select/
slimselect.min.js
slimselect.min.css
И подключать через относительные пути без внешних зависимостей.
Slim Select поддерживает использование в большинстве современных экосистем:
При этом везде сохраняется единая модель инициализации через
new SlimSelect({ select }).
Для корректной работы Slim Select в локальном окружении требуется:
<select> элементSlimSelectБазовый пример:
<link rel="stylesheet" href="slimselect.css">
<script src="slimselect.min.js"></script>
<select id="example">
<option value="a">A</option>
<option value="b">B</option>
</select>
<script>
new SlimSelect({
select: '#example'
})
</script>