Soo*_*ash 3 javascript node.js read-eval-print-loop node-modules
我已经理解了API Doc,如何包含REPL模块以及如何使用prompt和eval启动REPL实例.
但任何人都可以帮助我理解上述问题吗?这样我才能理解REPL模块究竟是如何使用的?
使用REPL有哪些用例/场景?
我经常在技术会谈中看到它(或Chrome控制台也是一个JavaScript REPL),作为一种快速的方式来展示不同表达方式所评估的内容.让我们想象你正在谈论JavaScript中的Equality,并希望表明NaN奇怪的是不等于它自己.
您可以通过以下方式证明:
node在您的终端中不带参数运行(这会启动REPL)NaN == NaN和按下Enter(REPL将评估表达式)false我什么时候应该在nodejs中使用REPL节点模块?
当您想要将Node.js REPL实现为应用程序的一部分时,例如通过Web浏览器中的"远程终端"公开它(由于安全原因不推荐它).
nodeconst repl = require('repl')
const server = repl.start()
Run Code Online (Sandbox Code Playgroud)
REPLServer的流APIfs-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
})
Run Code Online (Sandbox Code Playgroud)
input.js 文件:
40 + 2
NaN
["hello", "world"].join(" ")
Run Code Online (Sandbox Code Playgroud)
您现在可以运行node fs-repl,您将获得以下输出:
> 40 + 2
42
> NaN
NaN
> ["hello", "world"].join(" ")
'hello world'
Run Code Online (Sandbox Code Playgroud)
该输出可以明显地传递到一个Writable流比其他process.stdout通过更改output选项.
| 归档时间: |
|
| 查看次数: |
483 次 |
| 最近记录: |