私は、子REPLプロセスを生成するNode.jsプロセスを持っています。この子プロセスはC#を話し、DLLファイルを動的にロードすることができます。私はどちらかの方法を使ってREPLに入力を送るか、時にはProxy()を使用します。 REPLのstdoutがオブジェクトに返され、共通のobj.on(データ、関数)実装を使用して捕捉されます。オブジェクトのメソッドを呼び出すと、それは子プロセスstdinに渡されます。Node.jsをREPLの子プロセスに話すのは悪い習慣ですか?
これはすべてチャームのように機能し、.NETまたはサードパーティのアセンブリを読み込み、その型とメソッドをNodeに公開することができます。非常に効果的ですが、この方法では本能的に非常に醜いと感じます。
Windows以外のプラットフォームでも動作する必要はありません。
これは「悪い習慣」ですか?もしそうなら、これはどうしてですか?それについて何が悪いですか?あなたはどうやってそれをより良くしますか?
編集:私は別の方法を探しているわけではありませんが、今私が大胆にした質問に答えたいと思います。
ありがとうございますが、これは私の質問に対する答えではありません。私の解決策はEdgeよりも(私のために)優れています。問題は、ノードがどのタイプのREPLにも話すことを悪い習慣にするかどうかです。 –
パフォーマンス以外の理由がなければ、仲介者(REPLなど)を使用するよりも、直接対話するほうが「より良い方法」であるため、推奨しました。 – mscdex