3

私はjaxax.scriptインターフェースでJVMのrhinoを使用しています。'require'呼び出しを含むJavaScriptを評価しようとしています。'require'の定義がないため、これは機能しません。必要なのはv8だけですか?それとも単にnode.jsのものですか?JVMでこれを回避する方法はありますか?私が考えることができるオプションは

  • 必要なコードを手動で含めて、jsファイルを書き直します
  • 別のnode.jsプロセスを呼び出す

(私は必ずしもアプローチを推奨しているわけではありません。)

4

1 に答える 1

5

requirenode.js(およびRingoJSなどの他のフレームワーク)が使用するCommonJS仕様です。Rhinoの最新バージョンはサポートしていますが、JVMに付属しているバージョンはサポートしていません。require

これを回避するには、javax.scriptインターフェイスの代わりにRhinoを直接使用するか、CommonJSモジュールシステムを自分で実装します。JVMの代わりに新しいRhinoバージョンをドロップできるかもしれませんが、それが機能するかどうかはわかりません。

ただし、RingoJSのようなものを使用する必要があるかもしれません。これは、おそらくそこにあると想定され、Rhinoによってネイティブにサポートされていない他のCommonJS仕様があるためです。もちろん、node.js固有の機能に依存するライブラリにはまだ問題があります。

于 2012-05-23T15:47:11.577 に答える