阅读(几乎)整本电子书并查看API
我仍在问自己如何用opa实现“传统”的Web服务器行为。
我理解(至少我相信)opa链接了在
指定的外部资源
将时间编译到可执行文件中,使它们成为不可变和永久性的。
但是,如果我想在不重新编译的情况下更改应用程序的样式表呢? stdlib(apidoc)中似乎有一些方法,但它们没有覆盖 我习惯使用其他编程语言。
我能想到的一个可能的解决方案是利用内部数据库,
但对于像传统文件I / O这样简单的东西来说,这看起来有些过分。
答案 0 :(得分:6)
编辑:this博客文章详细介绍了如何处理Opa中的外部资源。
长话短说:你很少在Opa中使用外部文件。
让我试着打破这个。 Opa确实会嵌入资源。但对于开发模式,您确实只想调整它们(主要是CSS)并立即查看更改。如果您以非发布模式编译程序,那么它将支持这种操作(尝试--help
,下面是摘录)
Debugging Resources : dynamic edition:
[...]
--debug-editable-css
Export the CSS files embedded in the server to the file
system, so that they can be viewed and edited during
execution of the application
对于许多其他可编辑和更改资源,可以使用数据库。
如果你真的需要处理文件(再次:使用Opa,你需要它比传统的网络语言少得多),那么看看stdlib.io
和高级用法,在BslFile
模块,绑定Ocaml函数进行文件操作。
答案 1 :(得分:2)
我认为这个模块适合您: http://opalang.org/resources/doc/index.html#file.opa.html/!/value_stdlib.io
import stdlib.io
my_css = File.content("css/file.css")
我没有看到写文件的方法,但我认为如果你需要写,你应该使用db。 但要阅读我认为这是解决方案:)