Not all notifications are created equal! Styling, animation and position all matter when pushing a notification you want to be read.
I've collected some of my favourite, versatile (and mostly lightweight) Vue.js Notification, Alert & Toast Components in this article!
I'll keep the list updated if I stumble upon a new awesome library! If you think I should include one in particular, just email me (armin@nifty.at).
last updated: 06.02.2020
Okay, this first one is actually not a notification library, but it may be useful for some of you nonetheless! vue-notifications 637 is a bridge between your app and notification libraries.
You can use it to make sure your code is library-agnostic, meaning you can replace the UI library you're using without having to rewrite your code.
SweetAlert 12348 has been my go-to library for JavaScript alerts forever. There are Vue wrappers available like vue-swal 175 or Vue SweetAlert 2 400.
This library is very flexible: The alerts can be configured with buttons/actions, text, icons and various closing triggers. But besides simple alert popups Sweet Alerts also support more complex use-cases like nested alerts or the use of AJAX functions.
The design of the alert popups fits many project styles out-of-the-box - I rarely have to customize heavily. But you can of course use your own styling and content templates.
The default animations of the popup box and the icons included are timed well but can get a bit annoying if the user will see these notifications a lot.
From a usability perspective, I usually use SweetAlert for actionable and more important notifications, like when I need the user confirm the deletion of an item in a CRUD view.
vue-swal – minified & gzipped: 8.5KB
vue-sweetalert2 – minified & gzipped: 31KB
For toasts (informational notifications), I love the Vue Toasted Library 1900! The notifications can be configured with custom actions, duration, text and icons (Material Icons, Fontawesome or Material Design Icons). Besides 3 available styles you can also choose whether the toast should be displayed full-width.
Browser support is awesome, as well as touch- and mobile-compatibility.
Vue Toasted also is officially used by Nuxt.js!
minified & gzipped: 17.8KB
Noty 6768 is a dependency-free JavaScript notification library. It's the first alert library I found that supports Web Push Notifications additional to "normal" alerts.
It provides 11 layouts (= positions on the screen or in a container), 5 notification styles (= alert / success / warning / error / info), and 9 themes (= colour palettes and overall styles). It's also highly customizable, so you can create custom templates and use your own animations. It also supports using animate.css, mo.js, bounce.js, velocity and other libraries.
To manage your notifications, Noty offers a named queue system, API methods & Callbacks.
vuejs-noty 149 is a Vue.js wrapper for the library.
minified & gzipped: 10.3KB
vue-notification is a simple and pretty lightweight notification library.
You can choose between CSS and velocity-Animations for your notifications and customize duration, speed, positions and size. It offers 3 styles for success / error / warning alerts, but custom templating and styling is also possible.
Despite being a bit more limited than f.ex. Noty, this library covers everything I usually need in notifications without unnecessary overhead.
minified & gzipped: 4.2KB