【问题标题】:Node template engine, like EJS, that doesn't break the HTML template?节点模板引擎,如 EJS,不会破坏 HTML 模板?
【发布时间】:2016-11-27 02:25:15
【问题描述】:

想知道是否有一个像EJS for NodeJS 这样的模板引擎不会通过使用括号来破坏原始模板HTML。

例如,在 EJS 中,可以使用以下内容将特定数据插入 HTML 模板:

<script>
    window.$data = <%- JSON.stringify(data, null, 4) %>;
</script>

请注意,&lt;%- %&gt; 括号会破坏源 HTML 文件,在您想暂时停止使用 EJS 解析器的情况下,使其无法用于快速测试。

暂时忽略有用性争议,是否有任何不破坏模板的优秀 Node 数据注入库?或者,我敢说,对于将字符串化对象简单地注入到某个 &lt;script&gt; 元素中,正则表达式会是不可能的吗?

【问题讨论】:

  • “一个正则表达式是不可能的吗?”是的,它会。
  • Yes,正则表达式是不可能的。
  • 您是否尝试过使用外部脚本?
  • @RevanProdigalKnight 不幸的是,我的用例需要将数据直接注入 HTML。
  • @Cerbrus 您可以方便地忽略前面的“用于将字符串化对象简单地注入某个

标签: javascript html node.js templates


【解决方案1】:

如你所知,EJS 会用它的 '' 破坏 HTML,它的语法看起来很像 ASP。

如果您想要一个不会破坏 HTML 并且具有良好的编码工作流程的新模板,您可以试试这个:
Github:https://github.com/eshengsky/saker

这是我的个人开源项目,名为 Saker,它实现了一种非常紧凑且富有表现力的语法,它干净、快速且打字有趣。

这是预览:

<span>@name</span>
<a href="/detail/@id">@title</a>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-11-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-24
    • 1970-01-01
    • 2017-02-17
    相关资源
    最近更新 更多