Node.js 22.4.0 ist da und hat die Web Storage API hinter einem Flag. Bei Node kann man also jetzt localStorage
und sessionStorage
benutzen.
Ich habe ein bisschen damit gespielt.
Der sessionStorage
ist für eine Programmlaufzeit gültig. Ist also nach einem Neustart weg. localStorage
geht auch über Neustarts hinweg. Dafür muss man aber eine explizite Datei angeben: node --localstorage-file foo
. Die Datei ist einfach eine SQLIte-Datenbank (wie die anderen Browser das intern auch machen):
$ echo 'localStorage.setItem("hallo", "welt")' | node --experimental-webstorage --localstorage-file foo
$ sqlite3 foo 'select * from nodejs_webstorage'
key value
----- -----
hallo welt
Ist also eine super Alternative für Key-Value-Storage, wenn man nicht extra SQLite installieren will.
Storage Events scheinen (noch?) nicht zu funktionieren. Da wär auch die Frage, ob die bei localStorage nur innerhalb des selben Prozesses funktionieren, oder ob alle Node-Instanzen da kommunizieren, wenn sie einen Wert in dieselbe Datenbank schreiben.