标签: templating-engine

Mustache.js和Handlebars.js有什么区别?

我见过的主要差异是:

  • 把手增加了#if,#unless,#with,和#each
  • 把手增加了助手
  • 处理句柄模板(Mustache也可以)
  • 把手支持路径
  • 允许使用{{this}}in块(输出当前项的字符串值)
  • Handlebars.SafeString() (也许还有其他一些方法)
  • 把手的速度提高了2到7倍
  • 胡子支持倒置部分(即if !x ...)

(如果我对上述内容有误,请纠正我.)

我还缺少其他重大差异吗?

templating-engine mustache client-side-templating handlebars.js

321
推荐指数
8
解决办法
12万
查看次数

你能推荐一个.net模板引擎吗?

我正在寻找一个.net模板引擎 - 简单,轻量,稳定,没有太多的依赖.我目前所需要的只是创建模板化的纯文本和HTML电子邮件.谁能给我一个好的推荐?

如果它有帮助 - 比如Java的Freemarker或Velocity库.

[更新]感谢迄今为止的答案 - 非常感谢.当你使用这些库时,我真的很喜欢推荐或战争故事.似乎是在不依次尝试每个决策的情况下做出决定的最佳方式.

asp.net templates viewengine templating-engine

50
推荐指数
5
解决办法
3万
查看次数

关于John Resig的"JavaScript Micro-Templating"的任何进展?

所以我在John Resig的JavaScript Micro-Templating上看过这篇文章,我需要一个像这样的微模板引擎.

但他在帖子中表示,他将在他的"密友之书"中保留一个更精致的版本,并提到他希望看到它的演变.

所以我想知道,John Resig的微型模板引擎是否有更稳定/更先进的版本?如果是这样,我怎样才能获得它?这本JavaScript书籍在我的国家/地区不可用.

javascript templating-engine

19
推荐指数
1
解决办法
7969
查看次数

将JavaScript对象/哈希传递给Handlebars帮助器?

是否可以将JavaScript对象/哈希传递给Handlebars帮助程序调用?我想做这样的事情:

<label>Label here</label>
{{#textField {'id':'text_field_1', 'class':'some-class', size:30} }}{{/textField}}
<p>Help text here.</p>
Run Code Online (Sandbox Code Playgroud)

这是一个jsFiddle.目前它产生以下错误

Uncaught Error: Parse error on line 3:
...bel>  {{#textField {'id':'text_field_1'
----------------------^
Expecting 'CLOSE', 'CLOSE_UNESCAPED', 'STRING', 'INTEGER', 'BOOLEAN', 'ID', 'DATA', 'SEP', got 'INVALID' 
Run Code Online (Sandbox Code Playgroud)

或者,我可能会这样做并拆分',',但我不喜欢语法:

{{#textField "'id'='text_field_1','class'='some-class',size=30"}}{{/textField}}
Run Code Online (Sandbox Code Playgroud)

注意:我特别不希望将数据/属性(id,类,大小等)作为JSON对象传递给template()方法.我想要模板中的所有内容.

javascript templating-engine handlebars.js

12
推荐指数
2
解决办法
2万
查看次数

HAML,SASS/Compass和ERB之间的主要区别是什么?

我正在寻找一个模板引擎.在HAML,SASS/Compass和ERB中进行选择时需要考虑哪些重要因素?

haml erb sass templating-engine compass-sass

10
推荐指数
1
解决办法
1716
查看次数

MEAN堆栈 - 依赖模板(Angular vs Templating Engines)?

这可能来自于MEAN堆栈的各个部分缺乏经验,但是我在app.js代码中看到的各种样板(mean.io,hackathon-starter等)总是有一个调用使用玉石模板引擎.我知道我可以将其切换到ejs等,但我想知道是否有办法使用AngularJS将所有页面都放在.html文件中?我感兴趣的组件/模板功能似乎已经在Angular中,所以如果我尝试服务器.html文件,我不确定我输了什么?

templating-engine node.js mean-stack

8
推荐指数
1
解决办法
6054
查看次数

带有Backbone.js的JS模板系统

我正在寻找一些好的模板系统,以及像Backbone.js这样的MVC框架

我知道一个这样的系统(jQuery Templating).然而,由于某些原因,同样已经停止,因此我正在寻找其他一些好的选择.

从视角来看,请建议一些足够灵活的东西.(例如,基于某些逻辑的具有启用/禁用按钮的动态视图,基于某些逻辑的具有不同样式的表格数据等)

javascript jquery jquery-plugins templating-engine backbone.js

7
推荐指数
2
解决办法
8620
查看次数

Twitter typeahead.js:可以使用Angular JS作为模板引擎吗?如果不是如何替换Hogan/Moustache js的"{{}}"?

嘿伙计们我正在使用twitter的typeahead.js,我想知道是否有可能修改hogan.js使用其他东西{{}}?

我现在正在查看缩小的代码,我不知道如何改变这么简单的东西.进行查找和替换会破坏它.

我问的主要是因为我使用的是Angular JS,但是twitter的typeahead需要一个模板引擎,导致hogan和angular的{{}}冲突.更好的解决方案是简单地修改Angular JS(我知道它不是模板引擎)并放弃Hogan以符合以下标准:

任何模板引擎都可以使用typeahead.js,只要它符合以下API:

// engine has a compile function that returns a compiled template
var compiledTemplate = ENGINE.compile(template);

// compiled template has a render function that returns the rendered template
// render function expects the context to be first argument passed to it
var html = compiledTemplate.render(context);
Run Code Online (Sandbox Code Playgroud)

templating-engine mustache hogan.js angularjs typeahead.js

7
推荐指数
2
解决办法
4061
查看次数

如何缩进包含模板的内容

我正在使用 go 模板为 kubernetes 创建 yaml 定义。我正在尝试嵌套模板,但遇到了无法重用定义的问题,因为包含时缩进是错误的。即,在一种情况下,内容需要缩进,但在另一种情况下不需要。如何控制包含内容的缩进?

下面举例。我正在重用 pod.tmpl,在第一种情况下,它可以按原样包含在内。在第二种情况下,我需要缩进整个内容,使其成为服务成员

{{ if (eq .Case "pod")
  # NO indenting
  {{ template "pod" }}
{{ end }}

{{ if (eq .Case "service")
  service:
    # need to indent! so contents become members of service:
    {{ template "pod" }}
{{ end }}
Run Code Online (Sandbox Code Playgroud)

yaml go templating-engine go-templates

7
推荐指数
2
解决办法
7519
查看次数

致命错误:未捕获错误:未找到“Twig_Autoloader”类

最近我通过 Composer for PHP7.2 安装了 Twig2.0,运行代码时出现这些错误,

(!)致命错误:未捕获错误:在第 4 行的 C:\wamp64\www\php-twig\example.php 中找不到类“Twig_Autoloader”

(!)错误:在第 4 行的 C:\wamp64\www\php-twig\example.php 中找不到类“Twig_Autoloader”

我在 GitHub 上查看了这些问题。

这是我的 PHP 代码,

<?php

require 'vendor/autoload.php';
Twig_Autoloader::register();

$loader = new Twig_Loader_Filesystem('templates');

$options = array(
    'name' => 'Sumithran',
);

$twig = new Twig_Environment($loader, $options);
Run Code Online (Sandbox Code Playgroud)

和index.twig

<!DOCTYPE html>

<html>
<head>
    <meta http-equiv="Content-type" content="text/html; charset=utf-8">
    <title>Twig test</title>
</head>
<body>
    
    <h1>Hello world</h1>
    
    <p>And hello {{ name }}</p>
    
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

怎么解决这个问题呢?

php templating templating-engine fatal-error twig

5
推荐指数
1
解决办法
9652
查看次数