
As notificações podem ser uma dádiva de Deus ou a ruína de nossa existência nos dias de hoje. Todos os aplicativos que você instala no seu telefone querem ter acesso a notificações, assim como os aplicativos de desktop, e agora temos um API de notificações da Web juntamente com um API Web Pushcaso o senhor já não tenha notificações suficientes em sua vida. Os lembretes de compromissos do Calendar são sempre bem-vindos (caso contrário, eu esqueceria todos os eventos), mas será que o Wacky Mini Golf realmente precisa me notificar de que não jogo há 4 dias? Provavelmente não.
De qualquer forma, eu estava pensando em notificações e em como poderia usá-las para me lembrar de coisas que eu precisava fazer em um determinado momento do dia; ou seja, lembrar-me de ir almoçar, dar um passeio de bicicleta ou ir buscar meu filho na escola em um dia estranho. Como sou um nerd do JavaScript, decidi pesquisar a criação de notificações para Mac usando o Node.js e rapidamente encontrei minha resposta: node-notifier! Vamos dar uma olhada!
Criar uma notificação simples
node-notifier funciona tanto no Mac quanto em PCs com Windows. As notificações podem variar de muito simples a avançadas, portanto, vamos primeiro criar uma notificação muito simples:
const notifier = require('node-notifier');
// String
notifier.notify('Go empty the dishwasher!');
// Object
notifier.notify({
'title': 'David Walsh Blog',
'subtitle': 'Daily Maintenance',
'message': 'Go approve comments in moderation!',
'icon': 'dwb-logo.png',
'contentImage': 'blog.png',
'sound': 'ding.mp3',
'wait': true
});
O senhor pode fornecer notifier o básico, como um title, message, e icone, em seguida, vá além para adicionar uma imagem de conteúdo, um som e até mesmo controlar os botões exibidos na notificação.
Notificações avançadas
O senhor pode criar notificações avançadas e repletas de recursos com o node-notifierincluindo a capacidade de responder, controlar os rótulos dos botões de notificação e muito mais. A seguir, um exemplo mais avançado:
const NotificationCenter = require('node-notifier').NotificationCenter;
var notifier = new NotificationCenter({
withFallback: false, // Use Growl Fallback if
Here's a quick peak at the type of actions your notifications can make:

Events
node-notifier is capable of sending click and close events -- handy for triggering specific actions depending on how the user interacts with the notification:
// Open the DWB website!
notifier.on('click', (obj, options) => {
const spawn = require('child_process').spawn;
const cmd = spawn('open', ['https://davidwalsh.name']);
});
notifier.on('close', (obj, options) => {});
O exemplo acima permite que eu clique na notificação para abrir meu site; o senhor também pode usar isso para acionar outras rotinas em seu computador, é claro, depende simplesmente da finalidade da notificação.
O senhor pode ser muito detalhista com seus objetos e eventos de notificação por plataforma, portanto, não deixe de conferir o node-notifier API se o senhor realmente quiser se aprofundar. Ou, se o senhor for uma pessoa sã, talvez não precise de mais notificações em sua vida!