[node]Node.js 中REPL简单介绍

[node]Node.js 中REPL简单介绍

  • 什么是REPL
  • 为什么使用REPL
  • 如何使用
    • REPL 命令
    • REPL模式
    • node的全局内容
      • 展示node全局所有模块
      • 查看全局模块具体内容
      • 其它命令
  • 实践

什么是REPL

Node.js REPL(Read Eval Print Loop:交互式解释器) 表示电脑的环境,类似 Windows 系统的终端或 Unix/Linux shell,我们可以在终端中输入命令,并接收系统的响应。

Node 自带了交互式解释器,可以执行以下任务:

读取 - 读取用户输入,解析输入的 Javascript 数据结构并存储在内存中。

执行 - 执行输入的数据结构

打印 - 输出结果

循环 - 循环操作以上步骤直到用户两次按下 ctrl-c 按钮退出。

Node 的交互式解释器可以很好的调试 Javascript 代码。

为什么使用REPL

可以不用搭建其它任何框架,直接在终端输入表达式等,快速验证各种代码,并能得到实时反馈

但是它的缺点也是显而一见,无法对之前的代码进行修改,操作起来没有在文件中方便

如何使用

可以在cmd终端直接执行node,之后终端转换为node的执行终端,可以开始REPL--输入代码并查看

REPL 命令

  • ctrl + c - 退出当前终端,停止当前循环事件
  • ctrl + c 按下两次 - 退出 Node REPL
  • ctrl + d - 退出 Node REPL.
  • ctrl + L - 清空node终端、
  • 向上/向下 键 - 查看输入的历史命令
  • tab 键 - 列出当前命令
  • .help - 列出使用命令
  • .break - 退出多行表达式
  • .clear - 退出多行表达式
  • .save filename - 保存当前的 Node REPL 会话到指定文件
  • .load filename - 载入当前 Node REPL 会话的文件内容。

REPL模式

REPL:read eval print loop,node自带的交互解释器

可以通过在cmd终端执行输入以下命令,进入REPL模式:

shell 复制代码
node

进入REPL模式后,可以直接在终端进行运行运算,输入代码并查看

node的全局内容

展示node全局所有模块

empty + double Tab(直接double Tab)

查看全局模块具体内容

[类型].+双击Tab 查看可用方法 :Array.+ double Tab

其它命令

  • .editor 用于编辑多行 ctrl+d 中止编辑
  • .help 查看所有node的命令
  • .save filename将终端中的内容保存到文件中
  • more filename 读取文件中的内容
  • .load filename 再次加载文件filename

实践

个人感觉对repl的应用主要是简单的测试,否则复杂测试直接在终端输入比较麻烦,若测试不同参数下次还需要再次重新输入,不如写在文件中,通过命令执行文件查看运行结果方便

相关推荐
ldq_sd5 小时前
node.js安装和配置教程
node.js
我真的很困6 小时前
坤坤带你学浏览器缓存
前端·http·node.js
whyfail9 小时前
ESM 与 CommonJS:JavaScript 模块化的两大主流方式
javascript·node.js
熊的猫9 小时前
ES6 中 Map 和 Set
前端·javascript·vue.js·chrome·webpack·node.js·es6
Pigwantofly11 小时前
软件工程概论项目(二),node.js的配置,npm的使用与vue的安装
node.js
ZJ_.14 小时前
Electron 沙盒模式与预加载脚本:保障桌面应用安全的关键机制
开发语言·前端·javascript·vue.js·安全·electron·node.js
前端SkyRain15 小时前
后端Node学习项目-用户管理-增删改查
后端·学习·node.js
丁总学Java15 小时前
使用 npm 安装 Yarn
前端·npm·node.js
理想不理想v16 小时前
执行npm run build -- --report后,生产report.html文件是什么?
java·前端·javascript·vue.js·webpack·node.js
ForRunner12317 小时前
在 Node.js 中解决极验验证码:使用 Puppeteer 自动化
运维·node.js·自动化