Ich habe diesen Code von einer anderen SO-Frage erhalten, aber der Knoten hat sich beschwert, process.stdin.setRawMode anstelle von tty zu verwenden, also habe ich ihn geändert.
Vor:
var tty = require("tty");
process.openStdin().on("keypress", function(chunk, key) {
if(key && key.name === "c" && key.ctrl) {
console.log("bye bye");
process.exit();
}
});
tty.setRawMode(true);
Nach dem:
process.stdin.setRawMode(true);
process.stdin.on("keypress", function(chunk, key) {
if(key && key.name === "c" && key.ctrl) {
console.log("bye bye");
process.exit();
}
});
In jedem Fall wird nur ein völlig nicht reagierender Knotenprozess erstellt, der nichts tut, wobei der erste sich beschwert tty
, dann einen Fehler auslöst und der zweite nur nichts tut und den nativen CTRL+ CHandler von Node deaktiviert , sodass er den Knoten nicht einmal beendet, wenn ich Drück es. Wie kann ich Ctrl+ Cin Windows erfolgreich behandeln ?
quelle
Für diejenigen, die die Funktionalität benötigen, habe ich den Tod gefunden (npm nodule, hah!) .
Der Autor behauptet auch, dass es unter Windows funktioniert:
Ich kann bestätigen CTRL+ Cfunktioniert auf win32 (ja, ich bin überrascht).
quelle