首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Handlebars.net不保留空白

Handlebars.net不保留空白
EN

Stack Overflow用户
提问于 2019-04-27 02:55:46
回答 1查看 231关注 0票数 1

我有以下模板:

代码语言:javascript
复制
<!DOCTYPE html>
<html>
<body>
    {{>Header}}
    This is a test template.
    {{>Footer}}
</body>
</html>

当我编译这个模板时,我希望得到这样的结果:

代码语言:javascript
复制
<!DOCTYPE html>
<html>
<body>
    This is a header.
    This is a test template.
    This is a footer.
</body>
</html>

相反,我得到的是:

代码语言:javascript
复制
<!DOCTYPE html>
<html>
<body>
This is a header.    This is a test template.
This is a footer.</body>
</html>

第一行和第三行之前的缩进消失了;第二行之前的换行和结束正文标记也消失了。这是意料之中的吗?有没有一种方法可以像在基本模板中一样保留空白?我应该注意,我在这里使用的是Handlebars.Net,尽管我的理解是它是为了尽可能地模仿原始的Javascript规范。

EN

回答 1

Stack Overflow用户

发布于 2019-07-27 09:40:37

(来自的回答也是在这里发布的)

所以这里有两个不同的事情,我将首先总结,然后解释: 1)你期望的是不正确的;2)你得到的也是不正确的,以不同的方式:

Handlebars中的空格(和换行)并不重要,尽管从技术上讲

  1. 是一种通用的字符串模板语言,但它所包含的设计决策和意见严重倾向于将其用于HTML模板语言。你不应该期望它保留隐式的换行符,只保留显式的换行符(例如,如果你放入\n它将保留that)
  2. Handlebars.Net实际上保留了一些不应该保留的换行符!)这是一个bug,但许多用户目前都依赖它,所以我们将把它保留在1.x中,但在v2中修复它。

要获得所需的输出,请在模板中显式换行。干杯!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55873508

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档