2

我发现,erlydtl可以与氮气一起使用。

不幸的是,作者没有描述他如何安装erlydtl以使其可以从氮气中使用。

可能有人曾经遇到过同样的问题,我正面临着。如果是这样,请分享您的经验。

先感谢您。

4

2 回答 2

5

您应该能够将 ErlyDTL 添加到应用程序的 rebar.config 中:

 {erlydtl, ".*", {git, "git://github.com/erlydtl/erlydtl", {branch, master}}}

然后运行./rebar get-deps compile将它安装在应用程序的 lib/ 目录中并重新编译。

这是分步说明

  1. 创建一个新文件夹来保存 Nitrogen repo:

    • $ mkdir nitrogen-dtl
    • $ cd nitrodgen-dtl
  2. 从 GitHub 克隆氮气:

    • git clone https://github.com/nitrogen/nitrogen.git
    • cd nitrogen
  3. 构建一个名为“dtltest”的苗条 (1) 或完整 (2) 版本,位于氮 dtl 文件夹中:

    • make slim_inets PROJECT=dtltest(1)
    • make rel_inets PROJECT=dtltest(2)
  4. 编辑 dtltest 文件夹中的 rebar.config:

    • cd ../dtltest
    • vi rebar.config
    • 将 ErlyDTL 添加为依赖项(并在其前面的行中添加逗号):

       {simple_bridge, ".*",   {git, "git://github.com/nitrogen/simple_bridge",{branch, master}}},
       {nprocreg,      ".*",   {git, "git://github.com/nitrogen/nprocreg",     {branch, master}}},
       {nitrogen_core, ".*",   {git, "git://github.com/nitrogen/nitrogen_core",{branch, master}}},
       {sync,          ".*",   {git, "git://github.com/rustyio/sync",          {branch, master}}},
       {erlydtl,      ".*",   {git, "git://github.com/erlydtl/erlydtl",       {branch, master}}}
      
  5. 使用 rebar 下载和编译依赖项:

    • ./rebar get-deps compile
  6. 启动 Nitrogen 控制台,验证应用程序是否正在运行并尝试编译 ErlyDTL 模板:

    • (dtltest@127.0.0.1)1> erlydtl:compile_template("<html>{{ greeting }}</html>", dtltest_template).
    • (dtltest@127.0.0.1)2> dtltest_template:render([{greeting, "Hallo Welt!"}]).

你应该得到一个渲染的模板:

{ok,[<<"<html>">>,"Hallo Welt!",<<"</html>">>]}

如果模板编译,则说明 ErlyDTL 安装正确,您可以使用类似于您在应用程序中引用的 Gist 的代码。

干杯!

于 2014-10-16T02:04:22.577 回答
1

n2o你不需要做任何事情。DTL 已包含在内。您只需要使用#dtl 元素:

main() ->
     #dtl{file = "index",
          app = review,
          bindings = [{body,"Hello"},{title,"Index"}]}.

n2o 也可以在 17.0 上本地运行

于 2015-01-11T11:14:17.317 回答