win
mac
ubuntu
ここに書いてるとおり、他のモジュールと同じように
npm install --save node-notifierでインストールして、
const notifier = require('node-notifier'); notifier.notify({ 'title': 'My notification', 'message': 'Hello, there!' });ってやれば簡単に通知が出せちゃう。
titleとmessage以外にも
subtitle:文字列、titleとmessageの間に表示される
sound:true/false、macとwindowsにしか対応してない?
icon:画像の絶対パス、左側に表示される画像
contentImage:画像の絶対パス、右側に表示される画像
などなど他にもあるようです。
asarアーカイブとしてパッケージする際の注意点
これが特殊なのですよ。
node-notifierはasarアーカイブパッケージしちまったら動作しないようです。
ということで、パッケージする際は、
asar pack . app.asar --unpack "./node_modules/node-notifier/vendor/**"ってやって、node-notifierの実行ファイル(?)はパッケージ対象から外さないといけないようです。
パッケージされなかったファイルはapp.asar.unpackedってディレクトリが作成され、ここにコピーされます。
asarパッケージした時のicon画像パスの注意点
アイコンを設定する時に普通は
icon: __dirname + '/img/icon.jpg',とかやってパス指定すると思うけど、__dirnameはasarアーカイブなのでその中のディレクトリを指定することがでけまへん。
なので、app.asar.unpackedディレクトリの中に画像を入れて、
icon: __dirname + '.unpacked/img/icon.jpg',みたいにやればでけた。