分享个人 Full-Stack JavaScript 项目开发经验
Node.js 中的 REPL(read-eval-print loop) 模块是对“读取-求值-输出”循环的实现。本文以整理方式帮助快速了解或回顾 REPL 的使用。它可以快速编辑和测试我们的 node 程序或打印对象接口等。
直接输入 node 即可启动 REPL:
node
下面是编辑时候的键盘控制说明:
键盘输入 | 说明 |
---|---|
Ctrl + C | 终止当前命令。按两次会强制退出 REPL。 |
Ctrl + D | 退出 REPL |
Tab | 全部或本地变量的自动补全。 |
上/下方向键 | 翻阅历史命令。 |
下划线(_) | 引用上一个输出结果的值。 |
另外,可使用 {} 或 () 来支持多行表达式。
下面是 REPL 实例都支持的命令:
命令 | 说明 |
---|---|
.break | 放弃已经输入的多行内容。 |
.clear | 重置上下文并清空所有多行表达式。 |
.editor | 进入编辑模式。 |
.exit | 退出 REPL。 |
.help | 显示帮助列表。 |
.load <file_path> | 读取文件到当前 REPL 会话。 |
.save <file_path> | 保存当前 REPL 会话内容到文件中。 |
下面分享一个简单的自定义 REPL 例子,在文件 repl.js 中:
const repl = require('repl');
const context = repl.start({
prompt: 'repl >', // 自定义输入提示符
ignoreUndefined: true, // 忽略 undefined 的输出结果
replMode: repl.REPL_MODE_STRICT // 运行时使用严格模式
}).context;
// 在上下文中预加载 lodash,非 Node.js 核心模块需要另行安装。
context.lodash = require('lodash');
启动自定义 REPL:
node repl.js
当然,我们可以将自定义的 REPL 集成到我们的 CLI 工具中。
了解更新更多的 REPL 介绍,请参阅官方文档。