微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

自定义 Node JS REPL 输入/输出流

如何解决自定义 Node JS REPL 输入/输出流

我需要自定义 REPL 输入/输出流。例如,当某些事件发生时,我需要将一段脚本传递给 REPL 并获取它的输出并对其进行处理。


为了让您更清楚地描述它,我正在开发一个提供 REPL 的 vscode plugin (github: source code)。就我而言,我有一个 vscode WebView,从那里我得到用户输入,然后我想将该输入传递给节点 REPL 并获取输出并将其显示用户

那么,我将如何实现这一目标? 如果您需要更多信息,请告诉我。提前致谢。

编辑 1:

const replServer = repl.start({
    input: /* what should be here? */,output: /* what should be here? */
});

编辑 2: 谁能解释一下上面例子中 input/output 参数的用途是什么?

解决方法

  1. 要创建一个 repl 服务器,您只需要做
const repl = require('repl')
repl.start({prompt: "> ",input: input_stream,output: output_stream");

prompt 是一个字符串,它是提示,stream 是输入。 input_stream 需要是可读流,output_stream 需要是可写流。您可以阅读有关流 here 的更多信息。一旦流工作,你就可以做

output_stream.on('data',(chunk) => {                                                                                                                                                            
   14   //whatever you do with the data                                                                                                                                                                     
   15 });                

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?