【问题标题】:UI layer with YAWS webserver带有 YAWS 网络服务器的 UI 层
【发布时间】:2012-05-07 22:09:19
【问题描述】:

使用 erlang YAWS 网络服务器构建网站。要生成动态内容,我们必须在“.yaws”页面的标签中嵌入 erlang 代码,我觉得这不是最佳选择。我知道 Nitrogen 项目,但我不喜欢专有解决方案。

谁能推荐更好的 UI 解决方案和使用 YAWS 作为网络服务器的示例?

【问题讨论】:

    标签: erlang yaws


    【解决方案1】:

    sgte? 怎么样

    sgte 是一个用于生成结构化输出的 Erlang 模板引擎 (代码、html 网页、xml、电子邮件、csv 文件等...)。

    它的灵感来自于 StringTemplate 模板语言。并试图 强制模型和视图之间的严格分离。模板 语言尽量保持简单。

    我知道这很基本,但模板通常不需要使用太多逻辑。不过,我自己没有使用它,但总有一天应该试一试。 )

    【讨论】:

    • 谢谢。但我正在看 ErlyDTL,我认为这是更好的选择。
    【解决方案2】:

    您可以查看ErlyDTL,这是Django Templating language 的Erlang 实现。

    【讨论】:

    • 谢谢。我现在正在看它。你能分享一下,如果你有任何关于如何使用 YAWS 的好文章?
    【解决方案3】:

    如果您不想使用标签,则不必使用。您还可以使用 appmod,在这种情况下,对目录的所有请求都将被路由到命名模块的 out/1 函数。

    如果你想做更复杂的标记,你可以使用 yaws 中的 EHTML 或使用 ErlyDTL,它在 Erlang 中为你提供 python 风格的 Django 模板。

    如果您想了解更多关于如何在 Erlang 中进行 Web 应用程序的信息,请查看我的书 Building Web Applications with Erlang 现在处于早期版本中,但现在应该很快就会发布最终版本。

    【讨论】:

    • 我确实使用了 appmod。但是 HTML 代码必须在 erlang 模块中生成。不是吗?我想将 HTML 与 erlang 代码分开。
    • 除了 ErlyDTL,您还可以查看 Mustache.erl“一个与框架无关的模板系统,它强制将视图逻辑与模板文件分离。”
    【解决方案4】:

    您可以在Yaws 中使用appmod

    appmod 模块中的out 函数与 yaws 页面中的语义相同。然后,您可以使用本机 Yaws Service Side Include 系统将您的 html 代码与您的 erlang 代码分开。

    【讨论】:

      猜你喜欢
      • 2015-05-04
      • 2015-10-15
      • 2020-04-14
      • 1970-01-01
      • 2011-07-18
      • 2015-12-14
      • 1970-01-01
      • 2019-09-25
      • 2011-03-08
      相关资源
      最近更新 更多