我现在正在尝试 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 是未定义的,因为这段代码是在加载 Three.js 之前执行的。
我该怎么做: 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 .... )
先感谢您