javascript - process.stdin.setRawMode(true) 不是函数
问题描述
我正在尝试使用带有命令行的节点来构建蛇游戏,但出现错误:
process.stdin.setRawMode(true);
^
TypeError: process.stdin.setRawMode is not a function
我在网上查了一下,发现它已经贬值了,所以使用它很有用:
if (process.stdin.isTTY) {
process.stdin.setRawMode(true);
}
我试图用 if 封装“设置原始模式”这一行,以及整个函数,并删除了标准输入行,但没有任何效果,我无法使用箭头移动蛇。这是没有'if'的代码(在这两种情况下都不起作用):
readline.emitKeypressEvents(process.stdin);
process.stdin.setRawMode(true);
process.stdin.on('keypress', (str, key) => {
if (key.ctrl && key.name === 'c') process.exit();
switch (key.name.toUpperCase()) {
case 'UP':
State = Snake.enqueue(State, Snake.NORTH);
break;
case 'LEFT':
State = Snake.enqueue(State, Snake.WEST);
break;
case 'DOWN':
State = Snake.enqueue(State, Snake.SOUTH);
break;
case 'RIGHT':
State = Snake.enqueue(State, Snake.EAST);
break;
}
});
解决方案
推荐阅读
- javascript - 如何修复标题中的徽标显示?
- python - 按钮未显示在 Tkinter 中,即使带有几何管理器
- azure - 无法连接到 Azure 上的 Splunk Enterprise
- r - R中这两个数据有什么区别?
- android - 无法获取 com.google.gms.googleservices.GoogleServicesPlugin$GoogleServicesPluginConfig 类型的未知属性“配置”
- python - 如何在查询访问期间重置存储在 SQLAlchemy 中的值?
- php - 如何使用锚标签在 PHP 的 highlight_file 中包装函数?
- node.js - 谷歌云上的环境变量?
- c - 为什么使用此代码中的“LD_QUEUE_AVAILABLE”状态
- javascript - 如何知道是否触发了必填字段验证?