我正在使用 Node.js 创建一个控制台应用程序,它将有一个 TUI(文本用户界面)。但我想在终端内以全屏模式运行它(我不知道这是否是正确的说法),而不是仅仅以与我们运行应用程序相同的布局打印内容。 就像 Vim、htop 或类似应用程序的工作方式一样,它们似乎在不同的布局中运行。
实际上,我更想知道它是如何发生的。我的意思是,终端是否有不同的运行应用程序的模式?或者程序员的工作是保存屏幕上的所有内容,然后使用整个终端,完成后写回之前的所有内容?
如果您向我推荐一个可以执行此操作的库也很好(我可以检查其代码以了解其工作原理)
最佳答案
This CLI console app似乎是一个带有全屏界面 UI 的 Node.js 控制台应用程序。
为您开源 FTW :grin:
只需查看它正在使用的库/npm 模块:
- This library (clear) clears the terminal screen
- This library (inquirer) draws the interactive CLI interface UI
- This library (clui) draws textual widgets like tables and spinners. useful!
从这三个库中,我确信您将能够完全按照您所描述的进行操作。初始 sitepoint 应用程序页面上还列出了其他内容 - 例如 chalk to colourise output - 当然,您可以使用原始 ansi 代码来完成此操作,但如果有一个库,为什么不使用它(假设没有大量开销)?
为了回答你最初的关于如何调用它的问题 - 我同意你的观点,全屏界面就是我所说的 - TUI 明白了你的观点,特别是当你引用 vim (我使用 nano)作为例子。也许添加 CLI/UI/终端,以减少歧义。全屏终端界面UI应用程序。
编辑我希望你的成品能吸引观众 - 我在读完 this numpty 后用手捂着脸说这句话。想知道为什么在现代仍然有人会使用 vim 或 nano。我哭了。我确实希望他是真诚的,带着一丝天真——愤世嫉俗的我对此表示怀疑。这是 Z 世代的事情吗?
vim is super useful for just changing configs or quickly editing a small script or whatever, but there are people who will write entire software applications in Nano or Vim, and they are also serial killers (probably)
(这句话并不是来自天真的OP,但吓坏了我,想引用它)
关于node.js - 如何像 Vim 一样以全屏模式创建 Node.js TUI 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74764720/