Извините за вопрос noob, но я просто не могу получить предварительно скомпилированные шаблоны Handlebars, чтобы сделать что-либо, кроме barf out
TypeError: 'undefined' не является функцией (оценивая "templateSpec.call(контейнер, Handlebars, context, options.helpers, options.partials, options.data)" )
каждый раз, когда я применяю контекст к (предварительно скомпилированному) шаблону.
Учитывая следующие файлы и содержимое:
- hello.handlebars:
<p>Hello, {{name}}</p>
- templates.js: результат компиляции hello.handlebars через
handlebars hello.handlebars -f templates.js
-
index.html: включает Runlebars RC1 runtime в
head
и это для тела:<body id="body"> <script src="templates.js" type="text/javascript" charset="utf-8"></script> <script type="text/javascript" charset="utf-8"> var compiledTemplate = Handlebars.templates['hello']; var html = compiledTemplate({ name: 'World' }); document.getElementById('body').innerHTML = html; </script> </body>
Вызов compiledTemplate()
выдает эту ошибку выше, чем бы я ни занимался, но я могу получить шаблоны на стороне клиента для компиляции и отображения. Все пошаговые руководства и учебные пособия, которые я видел, пропускают это, как это очевидно, поэтому мне, должно быть, не хватает чего-то глупого. Любые идеи?