Toastify — это лёгкая и минималистичная библиотека для отображения уведомлений (toasts) на веб-странице. Она позволяет создавать временные сообщения для пользователей без необходимости разрабатывать сложный механизм уведомлений с нуля. Основная цель библиотеки — простота интеграции и гибкость кастомизации.
Существует несколько способов интеграции Toastify:
<link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/toastify-js/src/toastify.min.css">
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/toastify-js"></script>
npm install toastify-js
import Toastify from 'toastify-js'
import "toastify-js/src/toastify.css"
Использование через npm позволяет управлять зависимостями проекта и интегрировать библиотеку в сборщики вроде Webpack или Vite.
Минимальный пример уведомления:
Toastify({
text: "Сообщение успешно отправлено",
duration: 3000
}).showToast();
Ключевые параметры объекта конфигурации:
"top" или "bottom"."left", "center", "right".Toastify({
text: "Ошибка при загрузке данных",
duration: 4000,
gravity: "top",
position: "right",
style: {
background: "linear-gradient(to right, #ff5f6d, #ffc371)",
color: "#ffffff",
fontWeight: "bold"
}
}).showToast();
Через style можно менять фон, цвет текста, шрифты и даже
добавлять градиенты, что обеспечивает гибкость в оформлении уведомлений
под дизайн проекта.
Библиотека поддерживает вставку HTML через node:
Toastify({
node: document.createElement('div')
}).showToast();
Это позволяет создавать уведомления с иконками, кнопками или более сложной структурой, выходящей за рамки простого текста.
gravity.duration: -1 отключает автоудаление,
уведомление останется до закрытия вручную.Toastify({
text: "Нажмите, чтобы закрыть",
duration: -1,
close: true
}).showToast();
destination для открытия
ссылок.Toastify({
text: "Перейти на страницу профиля",
duration: 5000,
onClick: () => { console.log("Пользователь кликнул на уведомление"); },
destination: "/profile"
}).showToast();
Лёгкость и производительность Библиотека весит менее 5 КБ, не загружает DOM лишними элементами и не требует jQuery.
Простота интеграции Подключение через CDN или npm не вызывает конфликтов с другими библиотеками, что удобно для проектов любой сложности.
Гибкость кастомизации Настройка стиля, позиционирования, иконок и событий позволяет подстраивать уведомления под любые требования интерфейса.
Минимальные зависимости Toastify не требует сторонних зависимостей, что делает её идеальной для SPA и статических сайтов.
Поддержка интерактивности Возможность добавлять кликабельные ссылки, кнопки закрытия и callback-функции расширяет сценарии применения уведомлений.
Совместимость с современными сборщиками Поддержка ES-модулей и простая интеграция с Webpack, Vite и Parcel позволяет легко внедрять Toastify в современные фронтенд-проекты.
Множественные уведомления с разным стилем
const notifications = [
{ text: "Успех!", background: "green" },
{ text: "Предупреждение!", background: "orange" },
{ text: "Ошибка!", background: "red" }
];
notifications.forEach(n => {
Toastify({
text: n.text,
duration: 3000,
gravity: "top",
position: "right",
style: { background: n.background, color: "#fff" }
}).showToast();
});
Интерактивное уведомление с кнопкой закрытия
Toastify({
text: "Нажмите здесь для подтверждения",
duration: -1,
close: true,
onClick: () => alert("Действие подтверждено!")
}).showToast();
Эти примеры демонстрируют универсальность библиотеки: от простых информационных сообщений до сложных интерактивных уведомлений с кастомным оформлением и обработкой событий.