Otrzymałem ten kod z innego pytania SO, ale węzeł skarżył się, że używa process.stdin.setRawMode zamiast tty, więc go zmieniłem.
Przed:
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);
Po:
process.stdin.setRawMode(true);
process.stdin.on("keypress", function(chunk, key) {
if(key && key.name === "c" && key.ctrl) {
console.log("bye bye");
process.exit();
}
});
W każdym razie jest to po prostu utworzenie całkowicie nieodpowiadającego procesu węzła, który nic nie robi, przy czym pierwszy narzeka tty
, następnie zgłasza błąd, a drugi po prostu nic nie robi i wyłącza natywną CTRL+ Cobsługę Node , więc nawet nie opuszcza węzła, gdy ja naciśnij. Jak mogę pomyślnie obsługiwać Ctrl+ Cw systemie Windows ?
node.js
event-handling
copy-paste
user3025492
źródło
źródło
Dla potrzebujących funkcjonalności znalazłem śmierć (npm nodule, hah!) .
Autor twierdzi również , że działa w systemie Windows:
Mogę potwierdzić CTRL+ Cdziała na win32 (tak, jestem zaskoczony).
źródło