Ein Blog

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.