gpt4 book ai didi

node.js - 有没有办法在 Handlebars 模板中忽略 Handlebars 模板?

转载 作者:搜寻专家 更新时间:2023-10-31 22:57:50 25 4
gpt4 key购买 nike

我在我的服务器端 Node 应用程序中使用 Express + Handlebars,我想将客户端模板作为我正在呈现的页面的一部分发送到浏览器。

index.html

<html>
<head>
<title>{{title}}</title>
</head>
<body>
<div>
{{stuff}}
</div>
<script id="more-template" type="text/x-handlebars-template">
<div>{{more}}</div>
</script>
</body>

不幸的是,handlebars 试图渲染#more-template 脚本 block 中的内容。 (这只是删除了 {{more}},因为它在服务器模板的上下文中未定义。

有没有办法让它忽略脚本标签内的内容?(以便客户端模板可以使用它)

我已经看到这个问题:Node.js with Handlebars.js on server and client ,我宁愿只使用 1 个模板引擎。

最佳答案

一般来说,当你的模板被编译两次时(例如,当你只在服务器端编译时)并且你想在第一次运行时忽略模板标签,你可以简单地通过附加反斜杠告诉 handlebars 忽略它们:

{{variable1}} \{{variable2}}

variable1 设置为 value1 并且 variable2 未定义时,您将得到:

value1 {{variable2}}

(而不是将第二个标签替换为空字符串)。

在将 variable2 设置为 value2 的情况下编译第二次运行时,您将获得:

value1 value2

这不是完美的解决方案(这将是 Handlebars 单独保留 undefined variable 的设置),但适用于我的特殊情况。

关于node.js - 有没有办法在 Handlebars 模板中忽略 Handlebars 模板?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13874161/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com