1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/mirrors-handlebars.js

Клонировать/Скачать
FAQ.md 5 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 08.06.2025 13:31 f8026e7

Часто задаваемые вопросы

Как я могу отправить отчет о баге?

Увидеть наши руководства по сообщению об ошибках.

Почему мой шаблон Mustache не работает?

Handlebars немного отличается от Mustache по поведению в некоторых аспектах. Эти вариации документированы в нашем readme.

Почему это работает медленнее при компиляции?

Компилятор Handlebars должен разобрать шаблон и создать JavaScript-программу, которую затем можно выполнить. В некоторых средах, таких как старые мобильные устройства, это может повлиять на производительность, что можно избежать предварительной компиляцией. Общепринятое правило — использовать предварительную компиляцию и библиотеку времени выполнения на всех клиентах.

Почему это не работает с ограничениями Content Security Policy?

Когда не используется предварительная компиляция, 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 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/mirrors-handlebars.js.git
git@api.gitlife.ru:oschina-mirror/mirrors-handlebars.js.git
oschina-mirror
mirrors-handlebars.js
mirrors-handlebars.js
master