繁体   English   中英

让Node.js与REPL子进程对话是一种不好的做法吗?

[英]Is it bad practice to let Node.js talk to a REPL child process?

我有一个Node.js进程,该进程生成一个子REPL进程。 该子进程使用C#语言,并且能够动态加载DLL文件。 我使用方法或有时使用Proxy()将输入发送到REPL。 REPL的标准输出发送回我的对象​​,然后使用通用的obj.on(data,function)实现捕获。 当我在对象上调用方法时,它将把它传递给子进程stdin。

所有这一切都像一个魅力,我可以加载任何.NET或第三方程序集并将其类型和方法公开给Node。 尽管非常有效,但以这种方式本能地感觉非常丑陋。

除了Windows之外,它不必运行其他平台。

这是“坏习惯”吗? 如果是这样,为什么会这样呢? 这有什么不好? 您会如何做得更好?

编辑:我不是在寻找替代方法,但我想回答我现在大胆提出的问题。

如果您需要在任一方向上在节点和.NET之间进行互操作,则可以使用edge.js项目,这可能是您正在寻找的东西。 当前可以从节点访问CLR的是跨平台的(Windows,Linux,OS X)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM