其中的JavaScript模板引擎嵌套适合生成JSON

小胡子和把手都很棒。 我喜欢他们为他们的个人简单和卓越。 小胡子,因为它是一个单一的模板在很多地方和把手,因为它只提供了更多的function。

我面临的挑战是他们似乎已经实现了输出HTML或其他文档结构的标签是成对的,没有分隔符。

为了进一步澄清,如果你有一个项目的数组将会在列表中输出,那么这个效果很好:

<ul> {{#each items}} <li>{{name}}</li> {{/each}} </ul> 

这很好。 但是如果你想输出类似JSON的东西:

 [ {{#each items}} { name:{{name}} } {{/each}} ] 

这不起作用,因为JSON需要逗号分隔列表中的项目。 而且你不能在最里面的'}'后面加一个逗号,因为这也会导致错误。

有几个post/build议,人们已经要求将可选的分隔符属性添加到#each或添加#join。 一位提交者表示,它应该作为一个插件来实现,因为核心需要简单。

抛开政治。 能够将JavaScript对象格式化为JSONstring似乎非常适合模板。

**最后一个想法。 实际上可能有更好的JavaScript成语来重新格式化一个JavaScript对象。 我想这也是有趣的考虑。

PS:我喜欢这个模板的原因之一是因为它变成了自我logging。

更新:

@Kevin在handlebarsjs团队能够创build一个“助手”function,实现了我失踪的function。 这不是很快,但它代码的工作:

 [ {{#join items sep=','}} { name:{{name}} } {{/join}} ]