Js_of_ocaml:调用 ocurl 和 str 时缺少原语

Js_of_ocaml : missing primitive when calling ocurl and str

我正在使用包 curl 来发出 Http 请求(使用包 str 来使用正则表达式)。我在我的项目中编译文件,没问题,当我用 js_of_ocaml 编译 file.byte 时,我有这些错误:

js_of_ocaml --禁用genprim foo.byte

Missing primitives:
  helper_curl_easy_cleanup
  helper_curl_easy_duphandle
  helper_curl_easy_getinfo
  helper_curl_easy_init
  helper_curl_easy_perform
  helper_curl_easy_setopt
  helper_curl_global_init
  re_search_forward
  re_string_match

当我包含生成的 js 文件时,我在 Web 控制台中出现此错误:Uncaught ReferenceError: helper_curl_global_init is not defined

我知道缺少原语,这是导致我出现错误的原因,但有解决方案可以解决这个问题?

一些 OCaml 库使用纯 C 语言编写的原语。由于显而易见的原因 js_of_ocaml 不能 link 它们到 Javascript。在这种情况下,您需要手动实现它们,这在 manual.

中有所提及

来自 Str 模块的函数在 ECMAScript 库中有等价物,因此您可能需要使用它们(如果有人没有创建与 Str 具有相同接口的辅助模块并在后台调用 Javascript 函数)

要在 js_of_ocaml 中执行 http 请求,您将需要使用该模块:http://ocsigen.org/js_of_ocaml/2.5/api/XmlHttpRequest