我有以下nodejs程序
import readline from 'readline'
readline.createInterface({input: process.stdin, output: process.stdout}).prompt()
process.stdin.on('keypress', (letter, key) => console.log({letter: letter, key: key}))
Run Code Online (Sandbox Code Playgroud)
这在大多数情况下都有效,例如如果我按SHIFT+X,它会正确输出key.shift === True:
{
letter: 'X',
key: { sequence: 'X', name: 'x', ctrl: false, meta: false, shift: true }
}
Run Code Online (Sandbox Code Playgroud)
但是,如果我按SHIFT+ENTER,则key.shift永远不会true:
{
letter: '\r',
key: {sequence: '\r', name: 'return', ctrl: false, meta: false, shift: false}
}
Run Code Online (Sandbox Code Playgroud)
为什么?如何检测在 Node.js 中的SHIFT+ENTER使用readline?
我想做什么?我正在构建一个终端提示应用程序,因此该readline模块非常方便,因为它带有自动完成器、历史记录、分页、提示前缀等。但是,我也希望能够输入多行提示。
| 归档时间: |
|
| 查看次数: |
847 次 |
| 最近记录: |