Javascript Node.js:创建“节点”的最简单方法;滚动窗口+;textarea";控制台应用程序?

Javascript Node.js:创建“节点”的最简单方法;滚动窗口+;textarea";控制台应用程序?,javascript,node.js,console,Javascript,Node.js,Console,我正在用Node.js编写一个控制台应用程序。可以把它想象成某种文件的“tail-f”,但也可以在其中输入一些“命令”,这些命令将在列表上起作用 一个有两个windows控制台的应用程序:第一个是无人值守的滚动行应用程序,第二个是我可以在Readline的帮助下输入文本的应用程序 你认为我需要ncurses吗?或者有没有其他更低级的方式直接对屏幕进行寻址(哦,天哪,我记得DOS内存的Int21h) 编辑:我发布了应用程序:(仍然没有“windows”…我只是试着对这个应用程序保持聪明而已:)是的

我正在用Node.js编写一个控制台应用程序。可以把它想象成某种文件的“tail-f”,但也可以在其中输入一些“命令”,这些命令将在列表上起作用

一个有两个windows控制台的应用程序:第一个是无人值守的滚动行应用程序,第二个是我可以在Readline的帮助下输入文本的应用程序

你认为我需要ncurses吗?或者有没有其他更低级的方式直接对屏幕进行寻址(哦,天哪,我记得DOS内存的Int21h)


编辑:我发布了应用程序:(仍然没有“windows”…我只是试着对这个应用程序保持聪明而已:)

是的,你需要ncurses或termio之类的东西。您尝试执行的操作需要您自己控制终端i/o缓冲区,这肯定比node默认提供的级别低。

它真的需要是单个应用程序吗?你可以用屏幕。水平分割屏幕,让每个窗口分别与节点对话。顶部窗口可以是一个轮询node.js并打印输出的循环。

稍微相关的Q node.js非常简单。我想可能有一种方法可以扩展它以提供对Windows API的访问,但这对我来说听起来像是一场噩梦(可能是因为我也非常熟悉UNIX)。“控制台”被视为一个简单的文件。嗯,我这里不是说Windows。在此上下文中,“窗口”是屏幕(终端视口)被分割的两个不同部分:)对,我的观点是,在Node的故乡Linux中,正在运行的程序与其终端之间的连接只是一个文件描述符。进入“屏幕”本身是非常复杂的。有什么理由不接受这里的答案吗?