我想使带有节点的应用程序具有cli接口,因为它需要在终端中运行。我想将终端分为几部分,一个部分标识谁在查看应用程序,另一部分包含其他随机信息,侧面的菜单可以使用箭头键上下移动,主要日志部分,您可以键入另一个部分,然后按Enter键以发送文本。我已经绘制了一个有关如何制作的小图:(我知道这看起来很糟,它是用mspaint制作的)
我已经通过使用readline
模块使控制台输入部分正常工作,但我什至不知道从哪里开始真正设计终端,如何在某些部分设置文本等等。环顾了终端机和clci之类的东西,但是要么它们看起来不像我想要的那样,要么它们的文档/示例很乱。
我宁愿只对节点执行此操作,而不要使用其他语言的另一个应用程序,因为进入控制台部分的所有内容都将来自同一节点应用程序。
我在https://github.com/chjj/blessed处找到了祝福的库。它基于ncurses库(用C,https://en.wikipedia.org/wiki/Ncurses编写),它允许您在终端的不同区域中创建具有指定高度,宽度等的不同部分。从理论上讲非常有用,您可以按照github页上的建议,将存储库克隆到桌面,查看测试文件夹,然后运行不同的文件,即。 node test/widget-form.js
以查看可以在终端中创建的不同类型的接口。
它并没有真正为我工作,因为它一直崩溃,但是我发现有很多开放请求请求,人们仍在尝试,所以它可能对某些人有用,尽管我认为某些“小部件”的使用受到限制。我可以推荐的下一个最好的东西是祝福的人或新祝福的人,前者是Facebook的一些家伙开发的。 Blessed-contrib是较新的,因此您可能会有更多的运气,但是它本质上是为视觉输出而设计的,因此您可以为日志创建一个部分,选择菜单,一个段落部分等,但无需创建根据我对文档的阅读,您可以在此处输入文本(大约是所需内容的4/5),您可以在这里找到https://github.com/yaronn/blessed-contrib。
我个人认为这是涂料。祝您好运,我正在努力自己更好地理解文档,并且已经深入研究了它,因此,如果需要任何帮助,请随时联系。
[另外,请让我知道您是否发现除了我提到的资源以外的其他内容,这对我非常有帮助,因为现在的替代方法是让我自己使用C和ncurses库,如果没有必要,我会尽量避免它:)