如何使用 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 模块的更多信息。

Node.js 中文网 - 粤ICP备13048890号