在 python 中是否有用于创建像金字塔这样的 Web 服务的良好 OCaml 库?
Is there a good OCaml lib for creating a web service like pyramid in python?
问题标题说明了一切。
我发现 python 中的 pyramid
非常容易使用。
在OCaml中,我知道Eliom
,但猜的太重了。而且在客户端,我将使用 angular js
并且不需要在 OCaml 中编写浏览器页面。
有什么建议吗?
OWebl is a new project that I personally find very promising, and it looks like that it can suite your needs quite well. Other option, is to use cohttp directly or with opium
Eliom 不必是 "heavy";但我认为他们的文档存在轻微的公关问题……
这是一个最小的 Eliom 页面,当您访问路径 /aaa/bbb
(来自 https://ocsigen.org/tuto/manual/basicwebsite)时,它只提供来自字符串的一些 HTML:
let f _ () =
Lwt.return "<html><head><title>A</title></head><body>B</body></html>"
let main_service =
Eliom_registration.Html_text.register_service
~path:["aaa"; "bbb"]
~get_params:Eliom_parameter.any
f
您还需要服务器的基本配置:
<ocsigen>
<server>
<port>8080</port>
<charset>utf-8</charset>
<extension findlib-package="ocsigenserver.ext.staticmod"/>
<extension findlib-package="ocsigenserver.ext.ocsipersist-dbm"/>
<extension findlib-package="eliom.server"/>
<host hostfilter="*">
<static dir="static" />
<eliommodule module="_build/foo.cmo" />
<eliom/>
</host>
</server>
</ocsigen>
编译,运行服务器并尝试页面:
ocamlbuild -pkg eliom.server foo.cmo
ocsigenserver -v -c foo.conf
等待它说 ocsigenserver: main: Ocsigen has been launched (initialisations ok)
,然后打开 http://localhost:8080/aaa/bbb
。
这样使用,对我来说感觉不是很重,而且您可以轻松使用所需的最少部件。也就是说,在不了解您实际需要的情况下,很难说 Eliom 是否是最佳选择:-)
问题标题说明了一切。
我发现 python 中的 pyramid
非常容易使用。
在OCaml中,我知道Eliom
,但猜的太重了。而且在客户端,我将使用 angular js
并且不需要在 OCaml 中编写浏览器页面。
有什么建议吗?
OWebl is a new project that I personally find very promising, and it looks like that it can suite your needs quite well. Other option, is to use cohttp directly or with opium
Eliom 不必是 "heavy";但我认为他们的文档存在轻微的公关问题……
这是一个最小的 Eliom 页面,当您访问路径 /aaa/bbb
(来自 https://ocsigen.org/tuto/manual/basicwebsite)时,它只提供来自字符串的一些 HTML:
let f _ () =
Lwt.return "<html><head><title>A</title></head><body>B</body></html>"
let main_service =
Eliom_registration.Html_text.register_service
~path:["aaa"; "bbb"]
~get_params:Eliom_parameter.any
f
您还需要服务器的基本配置:
<ocsigen>
<server>
<port>8080</port>
<charset>utf-8</charset>
<extension findlib-package="ocsigenserver.ext.staticmod"/>
<extension findlib-package="ocsigenserver.ext.ocsipersist-dbm"/>
<extension findlib-package="eliom.server"/>
<host hostfilter="*">
<static dir="static" />
<eliommodule module="_build/foo.cmo" />
<eliom/>
</host>
</server>
</ocsigen>
编译,运行服务器并尝试页面:
ocamlbuild -pkg eliom.server foo.cmo
ocsigenserver -v -c foo.conf
等待它说 ocsigenserver: main: Ocsigen has been launched (initialisations ok)
,然后打开 http://localhost:8080/aaa/bbb
。
这样使用,对我来说感觉不是很重,而且您可以轻松使用所需的最少部件。也就是说,在不了解您实际需要的情况下,很难说 Eliom 是否是最佳选择:-)