Handlebars удаляет специальные символы - PullRequest
0 голосов
/ 02 октября 2019

В начале всех моих страниц у меня есть несколько ссылок, а именно 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 получает это, он ошибается и помещает все это содержимое в тело, оставляя голову пустой (без каких-либо ссылок).
Как мне предотвратить это?

1 Ответ

0 голосов
/ 02 октября 2019

Я только что прочитал документы. Этого можно избежать, используя 3 фигурные скобки, а именно:

{{{links}}}

Это позволяет рулю знать, что не следует заменять символы специальными. В качестве альтернативы можно использовать «базовый» режим руля, который сейчас не рекомендуется. Он имеет примерно ту же функциональность, что и тройные фигурные скобки.

...