首页 > 解决方案 > Handlebars 正在删除特殊字符

问题描述

在我所有页面的开头,我有一堆链接,即 jquery、bootstrap 和 font-awesome。我决定使用车把来简化这一点。(例如,我只有 1 个链接来缩短代码)

<head>
    {{links}}
</head>

我的后端:

var templateData = {
    links: '<script src="https://code.jquery.com/jquery-1.11.1.js"></script>'
};
fs.readFile(__dirname + "/front-end/blah.html", 'utf-8', function(error, source){
        var temp = handlebars.compile(source)(templateData);
        console.log(temp);
    });

然而,这就是我的头的样子:

&lt;script src&#x3D;&quot;https://code.jquery.com/jquery-1.11.1.js&quot;&gt;

去掉了特殊字符,现在是一堆html字符。当 chrome 收到此消息时,它会出错并将所有这些内容放入正文中,而头部则为空(没有任何链接)。
我该如何防止这种情况?

标签: node.jstemplateshandlebars.js

解决方案


我刚刚阅读了文档。这可以通过使用 3 个花括号来避免,即:

{{{links}}}

这让车把知道不要用特殊字符替换字符。或者,可以使用车把的“基本”模式,该模式现已弃用。它具有与三重花括号大致相同的功能。


推荐阅读