Javascript 在节点REPL上运行的进程

Javascript 在节点REPL上运行的进程,javascript,node.js,Javascript,Node.js,我想在节点REPL上运行一个进程。这里的目标是允许用户通过在终端中键入命令的方式使用节点REPL,但可以自动将一些模块加载到该REPL中 如果stdin以某种方式来回传输到后台运行的REPL,那么这个问题的解决方案将是最好的,但是如果REPL在允许用户输入stdin之前只加载了一些模块,那么也会令人满意 我可以做的是使用process.stdin.resume来允许用户输入命令、评估命令,并在已经运行的节点进程中处理命令,但这是复制已经存在的节点REPL的功能 有没有办法做到这一点?child_

我想在节点REPL上运行一个进程。这里的目标是允许用户通过在终端中键入命令的方式使用节点REPL,但可以自动将一些模块加载到该REPL中

如果stdin以某种方式来回传输到后台运行的REPL,那么这个问题的解决方案将是最好的,但是如果REPL在允许用户输入stdin之前只加载了一些模块,那么也会令人满意

我可以做的是使用process.stdin.resume来允许用户输入命令、评估命令,并在已经运行的节点进程中处理命令,但这是复制已经存在的节点REPL的功能

有没有办法做到这一点?child_进程是否有这种控制的媒介

任何建议的解决方案也可以使用es6。提前谢谢


编辑:请让我知道我可以做些什么来改进这个问题,因为它已经被浏览了好几次,但没有被触及。我不能提供一个例子,因为我不知道如何做这样的事情。

您看到内置的repl模块了吗

它似乎涵盖了你想做的一切


如果需要自定义上下文,可能需要传递自定义eval函数。节点文档中有一些例子。

关于您的编辑:可能只是我,但如果您试图解释或描述您想做什么,而不是基本上描述如何做,我认为您可能会对这个问题有更多的吸引力。当你说节点shell时,你是指命令行中的节点REPL吗?你是说NWJ吗?用户是否可以在REPL中键入一个命令来执行长时间运行的任务,并且您希望将用户返回到REPL,让长时间运行的任务在一个单独的进程中运行,可能在完成后将其输出发送到控制台?您能解释一下为什么要这样做吗?它可能会给出一个答案。另外,你能澄清一下你所说的节点外壳是什么意思吗?你指的是什么?还是REPL?还是别的什么?如果您仔细选择像node shell这样的人不熟悉的术语和定义的术语,这会有很大帮助。@Trott我认为术语shell没有那么奇怪。REPL更好,但几乎所有在终端中运行的语言内省工具都是shell。ie:Python外壳,Ruby外壳?@barry johnson你的评论没有多大帮助,我很抱歉。我已经尽力描述了我想做的事情。我没有提到任何种类的包裹。是的,都在那里。有时候,这只是一个指向正确方向的问题。有史以来最糟糕的赏金。谢谢