Node.js - REPL 终端



Node.js运行时有一个内置的交互式 shell,您可以在其中一次执行一个指令。Node.js交互式 shell 的工作原理是 REPL,它是 READ、EVALUATE、PRINT 和 LOOP 的首字母缩写。

Node.js交互式 REPL 终端类似于 Powershell 或命令提示符终端,或者 Linux 中的 bash 终端。它执行以下任务 -

  • Read − 读取用户的输入,将输入解析为 JavaScript 数据结构,并存储在内存中。
  • Eval - 获取并评估数据结构。
  • Print − 打印结果。
  • Loop - 终端已准备好接收用户的下一个输入。

要在计算机上启动 Node.js REPL,只需在命令终端中输入 node(无需像以前那样使用 javascript 文件名)。将出现Node.js提示>。

D:\nodejs>node
Welcome to Node.js v20.9.0.
Type ".help" for more information.
>

Node 的 REPL 特性在试验 Node.js 代码和调试 JavaScript 代码时非常有用。

您可以通过在>提示符前输入来测试任何 Node.js/JavaScript 表达式。例如 -


> 10+20
30
> "Hello"+"World"
'HelloWorld'
> a=10
10
> b=20
20
> a+b
30
> Math.random()
0.5423940959293392
>

您可以看到该指令已被阅读、评估、显示其结果,并且终端已准备好接收下一条指令。要启动 REPL,请按 ctrl+c 两次,或按 ctrl+D,或在符号前输入 .exit>。

多行表达式

Node REPL 支持类似于 JavaScript 的多行表达式。让我们检查一下以下 do-while 循环在起作用 -


> x=0
0
> do {
... x++;
... console.log("x: "+x);
... }
... while (x<5);
x: 1
x: 2
x: 3
x: 4
x: 5
undefined
>

这三个点......当您在左括号后按 Enter 键时自动出现。Node 会自动检查表达式的连续性。

下划线变量

您可以使用下划线 (_) 来获取最后结果 -


> var x=10
undefined
> var y=20
undefined
> x+y
30
> var z= _
undefined
> z
30
>

Dot 命令

REPL 有一些特殊命令,所有命令都以点开头。他们是

Dot 命令 描述
.help

显示 DOT 命令帮助

.editor

启用编辑器模式,轻松编写多行 JavaScript 代码。进入此模式后,输入 ctrl-D 以运行您编写的代码。

.break

输入多行表达式时,输入 .break 命令将中止进一步的输入。与按 ctrl-C 相同。

.clear

将 REPL 上下文重置为空对象,并清除当前正在输入的任何多行表达式。

.load

加载相对于当前工作目录的 JavaScript 文件

.save

将在 REPL 会话中输入的所有内容保存到一个文件(指定文件名)

.exit

退出 repl(与按两次 ctrl-C 相同)

Up/Down Keys

查看命令历史记录并修改以前的命令。

tab Keys

当前命令的列表。