使用REPL的用例/场景是什么?
我经常看到它(或者Chrome的控制台,它是一个JavaScript
REPL
(以及)在技术谈话中使用,作为演示不同表达的快速方式。想象一下你在谈论
JavaScript中的相等
我想证明这一点
NaN
strangely is not equal to itself
.
您可以通过以下方式证明:
-
跑步
node
终端中没有参数(这将启动REPL)
-
套房
NaN == NaN
和按压
进来
(REPL将计算表达式)
-
假装对输出感到惊讶
false
什么时候应该在nodejs中使用REPL节点模块?
当您想要实现一个节点时。js REPL作为应用程序的一部分,例如通过web浏览器中的“远程终端”将其公开(出于安全原因,不建议这样做)。
示例
正在复制通过调用
节点
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
选项