gpt4 book ai didi

erlang - 编译并运行 Yaws appmod

转载 作者:行者123 更新时间:2023-12-02 09:58:46 26 4
gpt4 key购买 nike

Appmods 是一种让应用程序程序员控制 URL 路径的方法。它们被实现为 Erlang 模块。例如myappmod.erl

-module(myappmod).
-include("../../yaws_api.hrl").
-compile(export_all).

out(Arg) ->
Method = (Arg#arg.req)#http_request.method,
handle(Method, Arg).

handle(Method,Arg) ->
%% Do something
ok.

我应该如何进行编译才能使这个appmod易于管理?

myappmod.erl 应该保存在 yaws 目录树的哪个目录下?编译后 myappmod.beam 去哪里?

如何生成引用此应用程序的 URL 路径?

欢迎所有帮助!

最佳答案

编译你的appmod只需调用erlc compiler 。然后,您将生成的梁文件安装到 Yaws 已知的加载目录中,该目录是使用 ebin_dir 指令在 yaws.conf 文件中指定的:

ebin_dir = /path/to/some/ebin
ebin_dir = /path/to/another/ebin

您可以在此处指定您自己的路径。多个 ebin_dir 设置是累积的 - 所有此类路径都会添加到 Yaws 加载路径中。

要积极开发您的 appmod,并自动重新加载您的更改,您可以使用类似 the sync project 的内容。 .

您的 appmod 的 URL 也在 yaws.confserver block 中使用 appmods 指令指定。您可以在 Yaws documentation 中找到示例。例如,如果您希望您的 appmod 控制服务器的整个 URL 空间,您可以指定 / 作为其 URL 路径:

<server foo>
port = 8001
listen = 0.0.0.0
docroot = /filesystem/path/to/www
appmods = </, myappmod>
</server>

另请注意您可以在 appmods 设置中指定的可选 exclude_paths 指令,通常用于排除存储静态加载资源的路径。例如,以下设置意味着 myappmod 处理整个 URL 空间 /,除了以 /icons 开头的任何 URL 路径:

appmods = </, myappmod exclude_paths icons>

关于erlang - 编译并运行 Yaws appmod,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33143173/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com