javascript - Handlebars 未定义

标签 javascript handlebars.js referenceerror

我是 JS 的新手,以前从未尝试过 Handlebars。我正在尝试教程中的一个非常简单的示例。我已经下载了handlebars-v4.0.5.js来自 Handlebars 网站并将其包含在我的页面中,如下所示,以及我预编译的模板 name-table.js .我该死的尽最大努力完成this tutorial但我不能,因为当我运行以下代码时,我得到 ReferenceError: Handlebars is not defined如果我从 Handebars 自己的网站下载的文件以任何方式有效,我终生无法理解。

<html>
    <head>
        <meta charset='UTF-8'>
        <title>Test Page!</title>
        <script type='text/javascript'>
            function init() {
                document.getElementById('button').addEventListener('click', buttonClick, false);
            }
            function buttonClick() {
                var injection = Handlebars.templates['name-table'];
                document.getElementById('button').innerHTML = injection;
                console.log('hello, world.');
            }

            window.addEventListener('load', init, false);
        </script>
    </head>
    <body>
        <button id='button'>Button</button>
        <div id='content'></div>

        <script type='text/javascript' rel='js/handlebars-v4.0.5.js'></script>
        <script type='text/javascript' rel='js/name-table.js'></script>
    </body>
</html>

编辑:
我标记的答案解决了这个问题。 另一个错误 出现在这段代码中,我想让任何阅读这篇文章的人知道 var injection这段代码中定义的是一个函数,而不是我想象的字符串。如果 rel,此代码将起作用改为src如给出的答案,如果我们使用 document.getElementById('button').innerHTML = injection(); (注意括号)。

最佳答案

您没有加载 Handlebars(或您的名称表脚本)。您当前具有以下标记:

    <script type='text/javascript' rel='js/handlebars-v4.0.5.js'></script>
    <script type='text/javascript' rel='js/name-table.js'></script>

您应该使用 属性而不是 相对 脚本标签的属性。
    <script type='text/javascript' src='js/handlebars-v4.0.5.js'></script>
    <script type='text/javascript' src='js/name-table.js'></script>

Mozilla documentation未将 rel 属性指定为有效的脚本标记属性。

关于javascript - Handlebars 未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38809500/

相关文章:

javascript - 在 Ember.js 中将字符串组合到绑定(bind)变量

Handlebars 中的变量

Javascript函数引用错误

javascript - 如何避免意外地隐式引用全局对象的属性?

javascript - 有没有一种简单的方法可以将 MooTools 代码转换为 JQuery 代码?

javascript - 将数据添加到 Ember.js 中的 application.hbs 模板

javascript - 在js中捕获一个referenceError

javascript - Uncaught ReferenceError

javascript - 使用 Javascript、Jquery 将 XML 转换为 Json 对象

javascript - Angular2 和 SystemJS : Cannot find module while building a moduleLoader