【发布时间】:2015-08-01 01:26:09
【问题描述】:
我想在节点 REPL 上运行一个进程。这里的目标是允许用户通过简单地在他们的终端中输入命令来使用节点 REPL,但是将一些模块自动加载到该 REPL 中。
如果标准输入以某种方式来回传输到在后台运行的 REPL,则该问题的解决方案将是最好的,但如果 REPL 在允许用户输入标准输入之前简单地加载了一些模块,这也是令人满意的。
我可以做的是与process.stdin.resume() 合作,以允许用户输入命令、评估它们并在已经运行的节点进程中处理它们,但这是复制现有节点 REPL 的功能。
有没有办法做到这一点? child_process 有这种控制的媒介吗?
任何建议的解决方案也可以使用 es6。提前致谢。
编辑:请让我知道我可以做些什么来改进这个问题,因为它已经被查看了好几次,但没有被触及。我无法提供示例,因为我不知道如何去做这样的事情。
【问题讨论】:
-
关于您的编辑:也许只有我一个人,但我认为如果您尝试解释或描述您想要做什么而不是基本上描述“如何”,您可能会在这个问题上获得更多关注。当您说“节点外壳”时,您是指命令行中的节点 REPL 吗?你说的是nwjs吗?用户是否可以在 REPL 中键入命令来执行长时间运行的任务,并且您希望将用户返回到 REPL,让长时间运行的任务在单独的进程中运行,大概将其输出发送到控制台什么时候完成?
-
你能解释一下你为什么要这样做吗?它可能会提供答案。
-
另外,你能澄清一下“节点外壳”是什么意思吗?你指的是github.com/wdavidw/node-shell吗?还是 REPL?或者是其他东西?如果您仔细选择术语并定义人们不熟悉的术语(例如“节点外壳”),将会有很大帮助。
-
@Trott 我不认为术语外壳是那么古怪。 REPL 更好,但几乎任何在终端中运行的语言自省工具都是 shell。即:Python Shell、Ruby Shell?
-
@barry-johnson 您的评论不是很有帮助,我很抱歉。我已经尽我所能描述我想做的事情。我没有提到任何类型的包。
标签: javascript node.js