问题标签 [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.

0 投票
2 回答
706 浏览

ocaml - 使用 Ocsigen 提供 JSON 的规范方法是什么?

Ocsigen /Eliom 教程从一个提供“Hello, world!”的应用程序示例开始。作为 HTML:

如何将其作为 JSON 来提供呢?具体来说,如何注册 JSON 服务,以及应该使用哪些库/组合器来生成/序列化 JSON(js_of_ocaml?)?

0 投票
1 回答
103 浏览

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 本身有这样的功能吗?还是我应该提供?那该怎么办?

谢谢

0 投票
1 回答
287 浏览

ocaml - 如何制作支持 lwt 的东西?

我试图理解这个词lwt supported


所以假设我有一段代码可以连接数据库并写入一些数据:Db.write conn data. 它与 lwt 无关,每次写入都会花费10 sec.

现在,我想使用 lwt。我可以像下面这样直接编码吗?

支持有5数据项my_data_list5个数据项是顺序写入数据库还是并行写入数据库?


他们还说在 Lwt 中手动或http://ocsigen.org/tutorial/application

使用 Lwt 非常容易并且不会造成麻烦,前提是您从不使用阻塞函数(非协作函数)。阻塞函数会导致 entre 服务器挂起!

我完全不明白如何使用阻塞功能。对于我自己的每一个功能,我可以用Lwt.return它来制作它lwt support吗?

0 投票
1 回答
134 浏览

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 ()}}

但问题依旧...

0 投票
1 回答
282 浏览

utf-8 - OCaml websocket“无效的UTF8数据”

我正在尝试使用 Lwt 构建一个循环,将帧推送到 Websocket,等待响应,将其打印到屏幕上,等待 60 秒,然后再次重复该过程。我已经能够得到可以编译的东西,但我还没有 100% 正确。第一次通过循环一切正常,然后每次我收到错误消息“无效的 UTF8 数据”。我的 Lwt 循环或我对 Websocket 协议的理解一定有问题。我的代码:

0 投票
0 回答
173 浏览

ocaml - ocp-indent 和 eliom 文件

我通过 opam 安装了 ocp-indent 1.4.2。它适用于大多数 ocaml 文件,但无法正确缩进 eliom 文件。例如以下

缩进为

命令 ocp-indent --print-config 给出

是不是配置错了?

0 投票
1 回答
131 浏览

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

0 投票
2 回答
105 浏览

client - Eliom 错误:{client{}}

我遇到了一个我不知道如何解决的错误。我有以下代码(来自 Eliom Graffiti 教程),我正在尝试使用make test.byte.

错误:

第 18 行是{client{出现的地方

0 投票
2 回答
199 浏览

html - 如何将 Bootstrap 与 Eliom 集成?

我正在尝试在 Eliom 框架中使用 Bootstrap,但我无法弄清楚如何正确使用某些 html 属性。以引导网站 ( http://getbootstrap.com/components/#btn-groups ) 中的以下代码为例:

我无法弄清楚如何在 Eliomrole中复制属性。aria-label它们未在type base_attributestype button_attrib( type commonhttp://ocsigen.org/tyxml/3.4/api/Html5_types#TYPEcommon )下列出。上面的代码可以在 Eliom 中复制吗?

0 投票
1 回答
209 浏览

button - 如何复制

我试图在 Eliom 中复制以下代码,但我无法找出复制<button>标签的最佳方法。Eliom 文档只会让我更加困惑。似乎使用string_button可能是最好的方法,但我不明白我为name论点提供了什么。

字符串按钮:

string_button 文档: http ://ocsigen.org/eliom/2.0/api/client/Eliom_output.Html5#VALstring_button

编辑:我认为 Eliom 文档中的类型签名

意味着我会使用类似的东西

具有类型签名

这会让我相信我需要使用

得到一个签名

但它只会产生以下错误:

我究竟做错了什么?