如何使用 Node.js REPL
REPL 代表 Read-Evaluate-Print-Loop,它是快速探索 Node.js 特性的好方法
node
命令是我们用来运行 Node.js 脚本的命令:
如果我们运行 node
命令而不执行任何脚本或不带任何参数,我们将启动一个 REPL 会话:
Note: REPL
代表 Read Evaluate Print Loop,它是一种编程语言环境(基本上是一个控制台窗口),它将单个表达式作为用户输入,并在执行后将结果返回到控制台。 REPL 会话提供了一种快速测试简单 JavaScript 代码的便捷方式。
如果你现在在终端中尝试,会发生以下情况:
该命令保持空闲模式并等待我们输入内容。
Tip: 如果你不确定如何打开你的终端,请谷歌 "如何在你的操作系统上打开终端"。
更准确地说,REPL 正在等待我们输入一些 JavaScript 代码。
从简单开始并输入
第一个值 test
是我们告诉控制台打印的输出,然后我们得到 undefined
,它是运行 console.log()
的返回值。
Node 读取这行代码,对其进行评估,打印结果,然后返回等待更多代码行。 Node 将为我们在 REPL 中执行的每一段代码循环执行这三个步骤,直到我们退出会话。 这就是 REPL 得名的地方。
Node 会自动打印任何一行 JavaScript 代码的结果,而无需指示它这样做。 例如,输入以下行并按回车键:
请注意以上两行输出的差异。 Node REPL 在执行了 console.log()
之后打印了 undefined
,而另一方面,它只是打印了 5 === '5'
的结果。 你需要记住,前者只是 JavaScript 中的一条语句,而后者是一个表达式。
在某些情况下,你要测试的代码可能需要多行。 例如,假设你要定义一个生成随机数的函数,请在 REPL 会话中键入以下行并按回车键:
Node REPL 足够聪明,可以确定你的代码还没有写完,它会进入多行模式,让你输入更多代码。 现在完成你的函数定义并按回车键:
_
特殊变量
如果在某些代码后键入 _
,将打印上次操作的结果。
向上箭头键
如果你按下 up
箭头键,你将可以访问在当前甚至之前的 REPL 会话中执行的先前代码行的历史记录。
点命令
REPL 有一些特殊命令,全部以点 .
开头。 他们是
.help
: 显示点命令帮助.editor
: 启用编辑器模式,轻松编写多行 JavaScript 代码。 进入此模式后,输入 ctrl-D 以运行你编写的代码。.break
: 输入多行表达式时,输入 .break 命令将中止进一步的输入。 与按 ctrl-C 相同。.clear
: 将 REPL 上下文重置为空对象并清除当前正在输入的任何多行表达式。.load
: 加载一个 JavaScript 文件,相对于当前工作目录.save
: 将你在 REPL 会话中输入的所有内容保存到文件中(指定文件名).exit
: 退出 repl(与按 ctrl-C 两次相同)
REPL 知道你何时键入多行语句而不需要调用 .editor
。
例如,如果你开始输入这样的迭代:
然后你按 enter
,REPL 将转到以 3 个点开头的新行,表示你现在可以继续在该块上工作。
如果在行尾键入 .break
,多行模式将停止,语句将不会执行。
从 JavaScript 文件运行 REPL
我们可以使用 repl
在 JavaScript 文件中导入 REPL。
使用 repl 变量,我们可以执行各种操作。 要启动 REPL 命令提示符,请键入以下行
在命令行中运行该文件。
你可以传递一个字符串来显示 REPL 何时开始。 The default is '> ' (带有尾随空格),但我们可以定义自定义提示。
你可以在退出 REPL 时显示一条消息
你可以在 repl 文档 中阅读有关 REPL 模块的更多信息。