0

opal スクリプトを xhr して、そこに定義されている ruby​​ コードを使用したいと考えています。$.getScript で取得してみました。しかし、私にとっては成功しません。

$.ajax({
  url: 'assets/foo.js.rb',
  success: function(data){
    #{ClassInFooJs.new}
  },
  dataType: "script"
});

さらに、スクリプトは (奇妙な方法で) 評価されます。つまり、コンソールから Opal.modules["file_i_required"] を呼び出すことができ、基本的にコンパイルされたコードが返されます。

しかし、その内部では何も評価されず(console.logsはありwindow["foos"] = #{something}ません)、そのファイルから何も参照できません。

何か助けはありますか?

4

1 に答える 1

1

require "foo"Opal またはOpal.require("foo")JavaScriptから使用する必要があります。load "foo"動作が必要な場合は、それOpal.load("foo")も存在することに注意してください。

:requirable別の方法は、フラグを設定してサーバー上のファイルをコンパイルするfalseことですが、手動でコンパイルしない限り、それはちょっと難しいです。詳細については、API ドキュメントを参照してください。

適切に更新されず、一般に将来変更される可能性があるため、直接呼び出すことOpal.modules["foo"](Opal)は避ける必要があります。$LOADED_FEATURES

于 2015-10-19T21:17:08.110 に答える