repl.start([options])


  • options <Object> | <string>
    • prompt <string> 要显示的输入提示。 默认值: '> ' (带有尾随空格)。
    • input <stream.Readable> 将从中读取 REPL 输入的 Readable 流。 默认值: process.stdin
    • output <stream.Writable> REPL 输出将写入的 Writable 流。 默认值: process.stdout
    • terminal <boolean> 如果 true,则指定 output 应被视为 TTY 终端。 默认: 在实例化时检查 output 流上 isTTY 属性的值。
    • eval <Function> 当评估每一给定输入行时要使用的函数。 默认: JavaScript eval() 函数的异步封装器。 eval 函数可能会出现 repl.Recoverable 错误,表明输入不完整并提示输入额外的行。
    • useColors <boolean> 如果为 true,则指定默认的 writer 函数应在 REPL 输出中包含 ANSI 颜色样式。 如果提供了自定义 writer 函数,则此功能无效。 默认: 如果 REPL 实例的 terminal 值为 true,则检查 output 流上的颜色支持。
    • useGlobal <boolean> 如果为 true,则指定默认评估函数将使用 JavaScript global 作为上下文,而不是为 REPL 实例创建新的单独上下文。 node CLI REPL 将此值设置为 true默认值: false
    • ignoreUndefined <boolean> 如果为 true,则指定默认编写器在计算结果为 undefined 时不会输出命令的返回值。 默认值: false
    • writer <Function> 在写入 output 之前调用以格式化每个命令的输出的函数。 默认值: util.inspect().
    • completer <Function> 用于自定义 Tab 自动完成的可选函数。 有关示例,请参见 readline.InterfaceCompleter
    • replMode <symbol> 指定默认求值器是在严格模式还是默认(宽松)模式下执行所有 JavaScript 命令的标志。 可接受的值是:
      • repl.REPL_MODE_SLOPPY 在宽松模式下计算表达式。
      • repl.REPL_MODE_STRICT 在严格模式下计算表达式。 这相当于在每个 repl 语句前面加上 'use strict'
    • breakEvalOnSigint <boolean> 当接收到 SIGINT 时停止计算当前代码段,例如按下 Ctrl+C。 这不能与自定义 eval 函数一起使用。 默认值: false
    • preview <boolean> 定义 repl 是否打印自动完成和输出预览。 默认值: true 使用默认 eval 函数和 false,以防使用自定义 eval 函数。 如果 terminal 为假,则没有预览,preview 的值没有影响。
  • 返回: <repl.REPLServer>

repl.start() 方法创建并启动了一个 repl.REPLServer 实例。

如果 options 是字符串,则指定输入提示:

const repl = require('node:repl');

// Unix 风格的提示
repl.start('$ ');
  • options <Object> | <string>
    • prompt <string> The input prompt to display. Default: '> ' (with a trailing space).
    • input <stream.Readable> The Readable stream from which REPL input will be read. Default: process.stdin.
    • output <stream.Writable> The Writable stream to which REPL output will be written. Default: process.stdout.
    • terminal <boolean> If true, specifies that the output should be treated as a TTY terminal. Default: checking the value of the isTTY property on the output stream upon instantiation.
    • eval <Function> The function to be used when evaluating each given line of input. Default: an async wrapper for the JavaScript eval() function. An eval function can error with repl.Recoverable to indicate the input was incomplete and prompt for additional lines.
    • useColors <boolean> If true, specifies that the default writer function should include ANSI color styling to REPL output. If a custom writer function is provided then this has no effect. Default: checking color support on the output stream if the REPL instance's terminal value is true.
    • useGlobal <boolean> If true, specifies that the default evaluation function will use the JavaScript global as the context as opposed to creating a new separate context for the REPL instance. The node CLI REPL sets this value to true. Default: false.
    • ignoreUndefined <boolean> If true, specifies that the default writer will not output the return value of a command if it evaluates to undefined. Default: false.
    • writer <Function> The function to invoke to format the output of each command before writing to output. Default: util.inspect().
    • completer <Function> An optional function used for custom Tab auto completion. See readline.InterfaceCompleter for an example.
    • replMode <symbol> A flag that specifies whether the default evaluator executes all JavaScript commands in strict mode or default (sloppy) mode. Acceptable values are:
      • repl.REPL_MODE_SLOPPY to evaluate expressions in sloppy mode.
      • repl.REPL_MODE_STRICT to evaluate expressions in strict mode. This is equivalent to prefacing every repl statement with 'use strict'.
    • breakEvalOnSigint <boolean> Stop evaluating the current piece of code when SIGINT is received, such as when Ctrl+C is pressed. This cannot be used together with a custom eval function. Default: false.
    • preview <boolean> Defines if the repl prints autocomplete and output previews or not. Default: true with the default eval function and false in case a custom eval function is used. If terminal is falsy, then there are no previews and the value of preview has no effect.
  • Returns: <repl.REPLServer>

The repl.start() method creates and starts a repl.REPLServer instance.

If options is a string, then it specifies the input prompt:

const repl = require('node:repl');

// a Unix style prompt
repl.start('$ ');