禁用 Node REPL 预评估?

jrc*_*03c 6 node.js read-eval-print-loop

在 Node (v16.7.0) REPL 中,Node 会在我完成输入之前尝试评估我的语句。例如,如果我输入2 + 2,它会在我按下 Enter 键之前4在下一行显示一个微弱的信号。有没有办法禁用这种行为?对于大多数情况,这不是问题;但是当我执行昂贵的操作时,当我试图完成语句输入时,REPL 会滞后或冻结。需要明确的是,问题在于解释器正在打印输出;而在于解释器正在打印输出。而是它试图在我完成输入之前评估我的陈述。在此先感谢您的帮助!

par*_*oja 4

REPLpreview将其称为预览(在链接中搜索以获取更多信息)。我不知道如何使用命令行选项(或其他某种配置选项)启动默认节点 REPL,以便不显示预览,但 REPL 本身是一个可以使用的库,具有所有默认值(或其他任何选项)你喜欢)并删除预览 - 为此检查REPL 库选项

一个基本示例是创建此脚本:

#!/usr/bin/env node

const repl = require('repl');

repl.start({
  preview: false
});

Run Code Online (Sandbox Code Playgroud)

确保您也将其作为可执行文件(在 Linux/Mac 中,从命令行,它将chmod +x name-of-repl-script从终端使用),然后运行该脚本,而不是node直接运行该脚本。或者,您可以使用以下命令运行脚本node name-of-repl-script(此处假设node是 NodeJS REPL 可执行文件并且它位于路径中)。