问题标签 [ocsigen]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ocaml - 使用 Ocsigen 提供 JSON 的规范方法是什么?
Ocsigen /Eliom 教程从一个提供“Hello, world!”的应用程序示例开始。作为 HTML:
如何将其作为 JSON 来提供呢?具体来说,如何注册 JSON 服务,以及应该使用哪些库/组合器来生成/序列化 JSON(js_of_ocaml?)?
ocaml - 如何充分利用 lwt_pool?
我在检查和验证功能上苦苦挣扎,Lwt_pool.create
并在这里有一些问题。
首先,让我描述一下我的使用背景。
我希望用来Lwt_pool
管理数据库连接池。数据库MongoDB
和驱动是我自己做的(Mongo.ml
)。驱动程序实际上很简单,它只是Unix.file_descr
与 MongoDB 服务器的 TCP ( ) 连接,并与服务器发送请求/接收响应。
以上是创建的文档
所以这是我的问题:
从文档中,我了解 validate 是在使用它之前验证连接。
所以我的第一个问题是如何检查 Unix.file_descr 的可用性?我只知道为了检查,我通过它发送了一些东西,对吗?但是,如果我通过我的连接发送一些东西以进行检查,那么我想这会很紧急,而且我还是想通过 发送一些东西Lwt_pool.use
,为什么还要在使用前做类似的事情呢?
我的第二个问题是关于检查的。
所以check会在使用后使用。从文档中,我真的无法理解。check 是一个以 my_db_connection (在我的情况下)和 a (fun b -> unit) 作为参数的函数。谁来提供(fun b -> unit)?Lwt_pool 本身有这样的功能吗?还是我应该提供?那该怎么办?
谢谢
ocaml - 如何制作支持 lwt 的东西?
我试图理解这个词lwt supported
。
所以假设我有一段代码可以连接数据库并写入一些数据:Db.write conn data
. 它与 lwt 无关,每次写入都会花费10 sec
.
现在,我想使用 lwt。我可以像下面这样直接编码吗?
支持有5
数据项my_data_list
,5个数据项是顺序写入数据库还是并行写入数据库?
他们还说在 Lwt 中手动或http://ocsigen.org/tutorial/application
使用 Lwt 非常容易并且不会造成麻烦,前提是您从不使用阻塞函数(非协作函数)。阻塞函数会导致 entre 服务器挂起!
我完全不明白如何不使用阻塞功能。对于我自己的每一个功能,我可以用Lwt.return
它来制作它lwt support
吗?
ocaml - 由于失败,无法启动 ocsigen 服务器:(“该函数无法在此处调用,因为它需要有关请求或站点的信息。”)
我想创建一个根据给定参数和地图生成其 HTML 的服务。给定参数,在地图中搜索 html 的服务,以及在客户端启动的功能。
鉴于该功能将在客户端启动,我将其作为客户端值插入到地图中:
然后我像这样注册服务:
其余代码几乎只是经典 eliom-distillery 的结果,其中包含用于使用的客户端函数的 ojquery 包。编译阶段进展顺利,但是当我尝试启动服务器时,我收到以下错误消息:
ocsigenserver: main: Fatal - Error in configuration file: Error while parsing configuration file: Eliom: while loading local/lib/examples/examples.cma: Failure("That function cannot be called here because it needs information about the request or the site.")
我的第一个猜测是,这是因为我将客户端值存储在服务之外,但是有没有办法将这种值存储在服务器上?
我试图将它们包装在常规函数中:
let demo_serv_func () = {unit{demo_client_func ()}}
但问题依旧...
utf-8 - OCaml websocket“无效的UTF8数据”
我正在尝试使用 Lwt 构建一个循环,将帧推送到 Websocket,等待响应,将其打印到屏幕上,等待 60 秒,然后再次重复该过程。我已经能够得到可以编译的东西,但我还没有 100% 正确。第一次通过循环一切正常,然后每次我收到错误消息“无效的 UTF8 数据”。我的 Lwt 循环或我对 Websocket 协议的理解一定有问题。我的代码:
ocaml - ocp-indent 和 eliom 文件
我通过 opam 安装了 ocp-indent 1.4.2。它适用于大多数 ocaml 文件,但无法正确缩进 eliom 文件。例如以下
缩进为
命令 ocp-indent --print-config 给出
是不是配置错了?
ocaml - 如何将来自 Eliom 客户端的 user_type 传递给协同服务?
http://ocsigen.org/eliom/manual/server-params#h5o-3显示了一个接受用户定义类型的 GET 服务示例。我想从客户端调用具有 user_type 的协同服务,在客户端使用相同的类型。似乎应该是可能的,但我明白了
当我尝试
我也尝试使用server_function,但后来我遇到了如何将 div 作为 json 返回的问题;正在做
给我Error: Unbound module Html5_types.Json_div
client - Eliom 错误:{client{}}
我遇到了一个我不知道如何解决的错误。我有以下代码(来自 Eliom Graffiti 教程),我正在尝试使用make test.byte
.
错误:
第 18 行是{client{
出现的地方
html - 如何将 Bootstrap 与 Eliom 集成?
我正在尝试在 Eliom 框架中使用 Bootstrap,但我无法弄清楚如何正确使用某些 html 属性。以引导网站 ( http://getbootstrap.com/components/#btn-groups ) 中的以下代码为例:
我无法弄清楚如何在 Eliomrole
中复制属性。aria-label
它们未在type base_attributes
或type button_attrib
( type common
http://ocsigen.org/tyxml/3.4/api/Html5_types#TYPEcommon )下列出。上面的代码可以在 Eliom 中复制吗?
button - 如何复制
我试图在 Eliom 中复制以下代码,但我无法找出复制<button>
标签的最佳方法。Eliom 文档只会让我更加困惑。似乎使用string_button
可能是最好的方法,但我不明白我为name
论点提供了什么。
字符串按钮:
string_button 文档: http ://ocsigen.org/eliom/2.0/api/client/Eliom_output.Html5#VALstring_button
编辑:我认为 Eliom 文档中的类型签名
意味着我会使用类似的东西
具有类型签名
这会让我相信我需要使用
得到一个签名
但它只会产生以下错误:
我究竟做错了什么?