【发布时间】:2018-02-04 07:18:49
【问题描述】:
我正在尝试 Yaws,但是遇到了一个问题。当我到达路径时,我的 .yaws 文件中的代码没有编译,而是打印在窗口上。这是我的代码和配置:
<erl>
method(Arg) ->
Rec = Arg#arg.req,
Rec#http_request.method.
out(Arg) ->
{ehtml, f("Method: ~s", [method(Arg)])}.
</erl>
服务器配置:
<server localhost>
port = 8000
listen = 127.0.0.1
docroot = /home/something/
dir_listings = true
dav = true
auth_log = true
statistics = true
</server>
任何信息将不胜感激,谢谢。
【问题讨论】:
-
不知道你说的“印在窗户上”是什么意思;请澄清您期望发生的事情以及实际发生的事情。我将您的
<erl>代码复制并粘贴到一个名为xxx.yaws的文件中,然后通过 Yaws 通过其 URL 访问该文件,并按预期获得了文本Method: GET,所以我不确定您还期待什么。您可能想阅读 yaws.hyber.org/dynamic.yaws 以了解有关在 .yaws 页面中使用html和ehtml的信息。另外,请告诉我们您使用的是什么版本的 Yaws。 -
它在我的浏览器上显示代码,这就是我的意思。
-
您是说您看到了问题中显示的确切内容,带有
<erl>标签等等?您的 .yaws 文件的名称是什么,您如何在浏览器中访问它? -
输出为:method(Arg) -> Rec = Arg#arg.req, Rec#http_request.method。 out(Arg) -> {ehtml, f("Method: ~s" , [method(Arg)])}。 .我正在使用 Yaws 2.0.4。
-
当导航到 localhost:8000 时,它会列出 docroot 中的文件(我的 example.yaws 所在的位置)然后我输入文件的路径:localhost:8000/example.yaws 然后我看到代码。我可能错过了什么吗?