私は今、Eliom を使って何ができるか試しています。eliom クライアント コードから外部の JavaScript ライブラリを呼び出したいと考えています。私が試しているコード例は次のとおりです。
[%%client
let three_lib = Js.Unsafe.js_expr "THREE" in
let scene2 = Js.Unsafe.new_obj three_lib##.Scene [||] in
let init () =
(Firebug.console##log three_lib : unit);
(Dom_html.window##alert (Js.string "scene2 created") : unit) in
init()
]
単純な JavaScript と同等:
var scene2 = new THREE.Scene();
function init () {
console.log(THREE);
window.alert("scene2 created");
}
init();
OCaml コードから Three.js への単純な呼び出し。現在、構文についてはまだ 100% 確信が持てませんが、Three.js をロードする前にこのコードが実行されるため、THREE が未定義であることがわかります。
1) js_of_ocaml によって生成されたファイルの前に js ファイルを含めます。または 2) 生成された js ファイルに Three.js を含めます。または3)他のオプション?
現在、ページは次のように生成されています。
Eliom_tools.F.html
~title:"Main Page"
~js:[["lib";"three.min.js"]]
Html5.D.(body .... )
前もって感謝します