Для использования библиотеки Noty в проекте можно прибегнуть к подключению через CDN (Content Delivery Network), что позволяет быстро интегрировать функционал уведомлений без необходимости установки пакета через npm или локального хранения файлов.
Noty требует подключения двух основных файлов: стилей и скрипта. Наиболее простой способ — подключение через официальные CDN-ссылки.
<!-- CSS для стилей уведомлений -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/noty/lib/noty.css">
<!-- Опциональные темы оформления -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/noty/lib/themes/mint.css">
<!-- JS для функционала уведомлений -->
<script src="https://cdn.jsdelivr.net/npm/noty/lib/noty.min.js"></script>
Ключевые моменты:
noty.css отвечает за базовую стилизацию
уведомлений.themes/mint.css) задаёт внешний вид уведомлений и
может быть заменена на другие доступные темы: relax,
sunset, metroui и др.noty.min.js обеспечивает функционал создания и
управления уведомлениями.После подключения через CDN можно создавать уведомления напрямую в скриптах, размещённых на странице.
new Noty({
text: 'Привет! Это уведомление Noty',
type: 'success', // Тип: success, error, warning, info, alert
theme: 'mint', // Тема уведомления
timeout: 3000, // Время автоматического закрытия (в мс)
progressBar: true, // Отображение полосы прогресса
layout: 'topRight' // Расположение уведомления
}).show();
Особенности параметров:
type — определяет цвет и иконку уведомления.theme — внешний вид, подключаемый через CSS.timeout — если установлено в false,
уведомление останется на экране до ручного закрытия.progressBar — визуальный индикатор времени жизни
уведомления.layout — позиция на экране (topRight,
topLeft, bottomRight, bottomLeft,
center).Подключение через CDN позволяет создавать уведомления динамически после загрузки страницы. Например, при получении ответа от сервера:
fetch('/api/data')
.then(response => response.json())
.then(data => {
new Noty({
text: `Данные успешно загружены: ${data.length} элементов`,
type: 'success',
theme: 'mint',
timeout: 4000
}).show();
})
.catch(error => {
new Noty({
text: `Ошибка загрузки данных: ${error.message}`,
type: 'error',
theme: 'mint',
timeout: 4000
}).show();
});
Это демонстрирует интеграцию Noty с асинхронными процессами без дополнительной настройки сборщика модулей.
Noty поддерживает несколько предустановленных тем. Для изменения темы достаточно подключить соответствующий CSS-файл:
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/noty/lib/themes/sunset.css">
И указать её в параметре theme при создании уведомления.
При этом можно использовать разные темы для разных уведомлений на одной
странице.
onClose и onShow.Noty предоставляет удобные события для кастомизации поведения:
let notification = new Noty({
text: 'Уведомление с событиями',
type: 'info',
theme: 'mint',
timeout: 5000,
callbacks: {
onShow: function() {
console.log('Уведомление отображено');
},
onClose: function() {
console.log('Уведомление закрыто');
}
}
}).show();
События позволяют реализовать сложные сценарии, например, запуск анимаций или вызов других функций при закрытии уведомления.
Хотите, я подготовлю следующий раздел про создание уведомлений с разными типами и анимациями, чтобы показать весь потенциал Noty в действии?