# 三.REPL

前言

在 Node.js 中为了使开发者方便测试 JavaScript 代码,提供了一个名为 REPL 的可交互式运行环境。开发者可以在该运行环境中输入任何 JavaScript 表达式,当用户按下回车键后,REPL 运行环境将显示该表达式的运行结果。

在命令行容器中输入 node 命令并按下回车键,即可进入 REPL 运行环境

# 1.基本操作

  • 变量的操作,声明普通变量和对象
  • eval
  • 函数的书写
  • 下划线访问最近使用的表达式
  • 多行书写
  • REPL 运行环境中的上下文对象
let repl = require("repl")
let con = repl.start().context
con.msg = "hello"
con.hello = function() {
  console.log(con.msg)
}
1
2
3
4
5
6

# 2.基础命令

  • break 退出当前命令
  • clear 清除 REPL 运行环境上下文对象中保存的所有变量与函数
  • exit 退出 REPL 运行环境
  • save 把输入的所有表达式保存到一个文件中
  • load 把所有的表达式加载到 REPL 运行环境中
  • help 查看帮助命令

# 3.vscode 调试

launch.json

{
  "version": "0.2.0",
  "configurations": [
    {
      "type": "node",
      "request": "launch",
      "name": "Launch",
      "program": "${workspaceRoot}/abstract-server/index.js",
      "runtimeExecutable": "nodemon", // 用什么命令执行app.js
      "restart": true, //在终止node.js后重启会话
      "console": "integratedTerminal", //启动调试目标的位置,这里选择在vscode的集成终端输出信息
      "skipFiles": [
        "${workspaceRoot}/node_modules/**/*.js",
        "<node_internals>/**/*.js"
      ]
    },
    {
      "type": "node",
      "request": "attach",
      "name": "Attach",
      "port": 3000
    }
  ]
}
// ${workspaceRoot}:VSCode中打开文件夹的路径
// ${workspaceRootFolderName}:VSCode中打开文件夹的路径, 但不包含"/"
// ${file}:当前打开的文件
// ${fileBasename}: 当前打开文件的文件名, 不含扩展名
// ${fileDirname}: 当前打开文件的目录名
// ${fileExtname} 当前打开文件的扩展名
// ${cwd}:当前执行目录
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31