当前位置: 首页 > 面试题库 >

在小胡子模板中转义双括号{{…}}。(在NodeJS中模板化)

元修然
2023-03-14
问题内容

我正在尝试为模板创建模板,如下所示:

{{{
{
  "name" : "{{name}}",
  "description" : "{{description}}"
}
}}}

{{{debug this}}}



<h1>{{name}}</h1>

我想保留三括号,但是将双括号替换为传入的JSON。任何人都知道无需编写后处理JS代码即可做到这一点的最佳方法,如果没有,那么是否有一个不错的nodeJS模板引擎可用于此场景类型?


问题答案:

您可以将定界符切换到与三重胡须不冲突的位置,例如erb样式的标签:

{{=<% %>=}}
{{{
{
  "name": "<% name %>",
  "description": "<% description %>"
}
}}}
{{{debug this}}}
<%={{ }}=%>

请注意,您可以在整个模板中执行任意多次。任何时候遇到冲突时,请选择一组新的定界符:)



 类似资料:
  • 我有一个java方法,它需要几个字符串。需要从Velocity模板调用此方法。但是,字符串太复杂了,有很多单引号、双引号和逗号。因此,合并失败。有没有办法逃避速度中的引号?

  • 问题内容: 我有一个java方法,它需要几个字符串。需要从Velocity Template中调用此方法。但是,字符串太复杂了,还有很多单引号,双引号和逗号。结果合并失败。有没有一种方法可以在Velocity中转义报价? 问题答案: 这取决于您使用的Velocity版本。Velocity 1.7对于转义引号有明确的规则:只需将用于包装字符串的相同引号类型加倍即可: 在此之前,存在一些带有反斜杠转义

  • 问题内容: 如何在Ansible 1.9.2中转义双花括号? 例如,如何在以下shell命令中转义大括号? 问题答案: 这是一个非常干净和Ansible的本机解决方法,不依赖于花括号。我们假设之前我们刚刚使用 Ansible docker模块 引用了一个容器: 现在,在Variable中具有Docker容器的IP 。我还在我的文章《与Docker融为一体的婚姻》中发布了此变通办法。 [更新2015

  • "Pay attention to what you hear; the measure you give will be the measure you get, and still more will be given you. For to those who have, more will be given; and from those who have nothing, even wh

  • 问题内容: 我从Flask的Jinja2模板提供动态页面。现在,我在脚本标签内定义客户端模板,例如Jinja2克隆Nunjucks。问题是,客户端模板具有类似语法该Flask’s的 Jinja2的解释,而不是可以解释渲染的逐字。 如何使整个脚本块逐字呈现? 问题答案: 你可以禁用块内标签的解释:

  • 问题内容: Django在其模板中将其视为某些变量。我怎样才能逃避或或使得Django不把它当作变量。 应该打印完全一样。 问题答案: 我相信您正在寻找template标签。 如链接到文档所述, 由于模板系统没有“转义”的概念,因此要显示模板标签中使用的位之一,必须使用标签。 例如: 将显示为: