我用 Ruby 和 Rails 编程了很长一段时间,然后我爱上了 Sinatra 框架的简单性,它允许我构建一页 Web 应用程序。
Erlang 有像 Sinatra 这样的 Web 框架吗?我尝试了 Erlyweb,但它似乎太重量级了。
您可以使用 mochiweb 实现最小的目标:
start() ->
mochiweb_http:start([{'ip', "127.0.0.1"}, {port, 6500},
{'loop', fun ?MODULE:loop/1}]).
% mochiweb will call loop function for each request
loop(Req) ->
RawPath = Req:get(raw_path),
{Path, _, _} = mochiweb_util:urlsplit_path(RawPath), % get request path
case Path of % respond based on path
"/" -> respond(Req, <<"<p>Hello World!</p>">>);
"/a" -> respond(Req, <<"<p>Page a</p>">>);
...
_ -> respond(Req, <<"<p>Page not found!</p>">>)
end.
respond(Req, Content) ->
Req:respond({200, [{<<"Content-Type">>, <<"text/html">>}], Content}).
如果您需要高级路由,则必须使用正则表达式而不是简单的 case 语句。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)