我已经理解了API Doc,如何包含REPL模块以及如何使用提示符和eval启动REPL实例。
但任何人都可以帮助我理解上述问题吗?这样我才能理解REPL模块究竟是如何使用的?
答案 0 :(得分:5)
使用REPL有哪些用例/场景?
我经常在技术会谈中看到它(或Chrome的控制台,它也是一个JavaScript REPL),作为一种快速的方式来展示不同的表达方式评估的内容。让我们想象一下,您正在谈论 JavaScript中的平等并希望展示NaN
strangely is not equal to itself。
您可以通过以下方式证明:
node
运行(这会启动REPL)NaN == NaN
并按输入(REPL将评估表达式)false
我什么时候应该在nodejs中使用REPL节点模块?
当您想要将Node.js REPL实现为应用程序的一部分时,例如通过Web浏览器中的“远程终端”公开它(由于安全原因不推荐它)。
node
const repl = require('repl')
const server = repl.start()
REPLServer
的流API fs-repl.js
档案:
const repl = require('repl')
const fs = require('fs')
const { Readable } = require('stream')
const input = new fs.createReadStream('./input.js')
const server = repl.start({
input,
output: process.stdout
})
input.js
档案:
40 + 2
NaN
["hello", "world"].join(" ")
您现在可以运行node fs-repl
,您将获得以下输出:
> 40 + 2
42
> NaN
NaN
> ["hello", "world"].join(" ")
'hello world'
通过更改Writable
stream选项,显然可以将此输出传递到process.stdout
以外的output
。