2

我正在通过 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 是正确的。我很难过 - 任何帮助都会被感激地接受。

谢谢,

4

1 回答 1

3

您所遵循的示例不正确。用于new_webmachine.sh创建 webmachine 应用程序时,路由的配置不会存储priv/dispatch.confsrc/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, []}.
于 2014-07-24T14:42:21.870 回答