如何在js_of_ocaml中写console.log?

How do I write console.log in js_of_ocaml?

如何在js_of_ocaml中写console.log? print_endline 可能会转到控制台,但我想访问跟踪、错误等。我可以只将 console 定义为外部对象吗?

这对我不起作用:

let console = Js.Unsafe.global##console

失败:

TypeError: N.console is not a function test.js:255:30

这失败并出现同样的错误:

class type console = object
  method log : Js.js_string Js.t -> unit Js.meth
end

let _ =
  let console : console = Js.Unsafe.global##console in
  let here : Js.js_string Js.t = Js.string "here" in
  console#log here

JavaScript 控制台对象位于 Firebug 模块内,API 此处:https://ocsigen.org/js_of_ocaml/3.5.0/api/js_of_ocaml/Js_of_ocaml/Firebug/class-type-console/index.html

示例:

open Js_of_ocaml
open Js
let here : js_string t = string "here" in 
Firebug.console##log here;

注意:只写 Firebug.console##log "here" 将转储一个对象,而不是 JavaScript 字符串 "here"。