Существует ли веб-платформа стиля Sinatra для Erlang?

Я запрограммировал в Ruby и направляющих в течение довольно долгого времени, и затем я влюбился в простоту платформы Sinatra, которая позволила мне создавать веб-приложения на одну страницу.

Существует ли веб-платформа как Sinatra, доступный для Erlang? Я попробовал Erlyweb, но это кажется слишком тяжелым.

9
задан rae1 1 March 2013 в 17:18
поделиться

4 ответа

Что вызывает тревогу, так это то, что версии SNAPSHOT могут быть определены в dependencyManagement. Несмотря на то, что при выпуске maven в DependencyManagement допускается выпуск pom с версией SNAPSHOT. Почему?

Я ожидаю, что maven-release-plugin обновит версии SNAPSHOT в dependency Management после выпуска. На самом деле, есть некоторые Jira об этом, например MRELEASE-91 и MRELEASE-202 , которые могут повлиять на вас.

Итак, вопрос в том, какую версию плагина вы используете?

Но если честно, то не совсем понятно, какие версии затронуты MRELEASE-202 , комментарии сбивают с толку (так что интересно, исправлена проблема или нет). В любом случае, если будет затронута используемая версия, обновите ее до более поздней версии. И если ошибка/регрессия (я думаю, что это ошибка) все еще есть, то поднимите новый вопрос.

-121--4482107-

Проще всего просто загрузить пакет с помощью метода NSBundle -loadAndReturnError: . Если пакет не будет загружен из-за того, что его параметры GC отличаются от параметров в приложении, вы получите NSExecutureRuntiveMismatchError .

-121--4349682-

Вы можете добиться чего-то минимального с помощью 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}).

Если вам нужна расширенная маршрутизация, вам придется использовать regex, а не простое заявление.

11
ответ дан 4 December 2019 в 10:04
поделиться

Вы можете быть заинтересованы в Rusty Klophaus ' Antrogen Framework. Это действительно легкий и идеально подходит для действительно динамичных сайтов на одну страницу.

2
ответ дан 4 December 2019 в 10:04
поделиться

Может быть, этот пример (см. REST SUPPORT), использующий misultin, выглядит как синатра :

2
ответ дан 4 December 2019 в 10:04
поделиться

Взгляните на веб-машину . У него очень простой, но мощный механизм диспетчеризации. Вам просто нужно написать модуль ресурсов, указать ему свои URI, и ваша служба автоматически станет совместимой с HTTP.

3
ответ дан 4 December 2019 в 10:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: