我正在处理有关webmachine http://en.wikiversity.org/wiki/Web_Development_with_Webmachine_for_Erlang的在线教程。我从github下载了源代码,使用
创建了一个新的应用程序/webmachine/scripts/new_webmachine.sh prp
然后使用make来构建它并使用标准的启动脚本启动它。骨架应用程序运行正常,您可以看到主页,但/ priv目录中没有dispatch.conf文件,即使我添加一个它似乎没有拿起它 - 在启动日志中我可以看到是一个(默认?)调度设置,但添加和更改dispatch.conf不会改变它。
=PROGRESS REPORT==== 23-Jul-2014::20:03:32 ===
supervisor: {local,prp_sup}
started: [{pid,<0.81.0>},
{name,webmachine_mochiweb},
{mfargs,
{webmachine_mochiweb,start,
[[{ip,"0.0.0.0"},
{port,8080},
{log_dir,"priv/log"},
{dispatch,[{[],prp_resource,[]}]}]]}},
{restart_type,permanent},
{shutdown,5000},
{child_type,worker}]
我环顾四周看看配置是否已经以某种方式移动,但源代码附带的文档似乎表明/priv/dispatch.conf是正确的。我很难过 - 任何帮助都会被感激地接受。
谢谢,
乔
答案 0 :(得分:3)
您关注的示例不正确。使用new_webmachine.sh
创建webmachine应用时,路由的配置不会存储在priv/dispatch.conf
中,而是在src/prp_config.erl
中创建。
要使其使用dispatch.conf
,您需要将prp_config:dispatch/0
更改为:
-spec dispatch() -> [webmachine_dispatcher:route()].
dispatch() ->
{ok, Routes} = file:consult("priv/dispatch.conf"),
Routes.
然后将priv/dispatch.conf
添加为:
{[], prp_resource, []}.