我使用curl包来发出Http请求(以及使用regex的str包)。我正在编译我的项目中的文件,没有问题,当我用js_of_ocml编译文件.byte时,我会出现以下错误:
js_of_ocml—禁用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无法将它们链接到Javascript。在这种情况下,您需要手动实现它们,这在手册中有所提及。
Str模块中的函数在ECMAScript库中具有等效功能,因此您可能需要使用它们(如果有人没有创建与Str具有相同接口的辅助模块并在后台调用Javascript函数)
要在js_of_ocml中执行http请求,您需要使用该模块:http://ocsigen.org/js_of_ocaml/2.5/api/XmlHttpRequest