首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否可以将TT2与Cro一起使用?

是否可以将TT2与Cro一起使用?
EN

Stack Overflow用户
提问于 2018-12-23 16:23:59
回答 1查看 218关注 0票数 4

我正在考虑使用perl6和Cro来建立一个包含文本内容的网站。对于如何将Cro与模板工具包(如TT2 )和代码示例一起使用,有什么最佳实践/指导可供我参考吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-12-25 02:43:05

你看过Cro::WebApp吗?

请参阅https://github.com/jnthn/cro-webapp

--

也可以使用"Template::Mojo“。

下面是一个Cro服务器:

代码语言:javascript
复制
use Cro::HTTP::Router;
use Cro::HTTP::Server;
use Template::Mojo;
my $tmpl = slurp 'views/template.tt';
my $t = Template::Mojo.new($tmpl);
my $application = route
{
  get -> ''
  {
     content 'text/html', $t.render({ title => "AAA",
                                      type => "aaa",
                                      mode => "AAAaaaAAA" });
   }
}

my Cro::Service $hello = Cro::HTTP::Server.new:
  :host<localhost>, :port<10000>, :$application;
$hello.start;
react whenever signal(SIGINT) { $hello.stop; exit; }

模板文件如下所示:

代码语言:javascript
复制
% my %h = @_;
% my $title = %h<title>;
% my $type  = %h<type>;
% my $mode  = %h<mode>;
%
<html>
  <head>
    <title><%= $title %></title>
  </head>
  <body>
    <h1><%= $type %></h1>
    <p><%= $mode %></p>
  <body>
</html>

服务器代码可以进行一些改进(灵感来自贝利多)。添加以下代码:

代码语言:javascript
复制
sub template ($template, %values)
{
  my $tmpl = slurp "views/$template";
  my $t = Template::Mojo.new($tmpl);
  return content 'text/html', $t.render(%values);
}

并更改"get":

代码语言:javascript
复制
  get -> ''
  {
    template 'template.tt',
    {
      title => "AAA",
      type  => "aaa",
      mode  => "AAAaaaAAA"
    };
  }
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53905206

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档