Увидеть наши руководства по сообщению об ошибках.
Handlebars немного отличается от Mustache по поведению в некоторых аспектах. Эти вариации документированы в нашем readme.
Компилятор Handlebars должен разобрать шаблон и создать JavaScript-программу, которую затем можно выполнить. В некоторых средах, таких как старые мобильные устройства, это может повлиять на производительность, что можно избежать предварительной компиляцией. Общепринятое правило — использовать предварительную компиляцию и библиотеку времени выполнения на всех клиентах.
Когда не используется предварительная компиляция, Handlebars генерирует динамическую функцию для каждого шаблона, что может вызвать проблемы на страницах, где включена политика безопасности. Рекомендуется предварительно скомпилировать шаблоны или включить политику unsafe-eval
для сайтов, которые должны генерировать динамические шаблоны в режиме реального времени.
<script>
в свой шаблон?Если загружать шаблон через встроенный <script type="text/x-handlebars">
тег, вам может потребоваться разбить тег <script>
пустым комментарием, чтобы избежать ошибок парсера браузера:<script type="text/x-handlebars">
foo
<scr{{!}}ipt src="bar"></scr{{!}}ipt>
</script>
Общепринятое правило — использовать внешние, предварительно скомпилированные файлы для шаблонов, что позволяет избежать этой проблемы.
При использовании предварительной компиляции важно, чтобы на целевой странице была загружена поддерживающая версия библиотеки времени выполнения Handlebars. В версии 1.x были примитивные проверки версий, но они не всегда работали. Это исправлено в версии 2.x, но проверка версий не работает между этими двумя версиями. Если вы видите неожиданные ошибки, такие как undefined is not a function
или подобные, убедитесь, что используется одинаковая версия для предварительной компиляции и клиента. Это можно проверить через:
handlebars --version
Если вы используете встроенный предкомпилятор и
console.log(Handlebars.VERSION);
На стороне клиента.
Мы включаем построенные клиентские библиотеки в npm-пакет для тех, кто хочет быть уверенными, что они используют те же клиентские библиотеки, что и компилятор.Если эти библиотеки совпадают, пожалуйста, создайте проблему с нами в соответствии с нашими руководствами по созданию проблем.## Как мне загрузить библиотеку runtime при использовании AMD?
Файл handlebars.runtime.js
включает сборку UMD, которая обнажает библиотеку как корневой модуль и поле default
для совместимости.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )