Javascript 预编译车把模板。无法读取属性';JST&x27;未定义的

Javascript 预编译车把模板。无法读取属性';JST&x27;未定义的,javascript,gruntjs,handlebars.js,Javascript,Gruntjs,Handlebars.js,首先,我想说这是我第一个使用grunt的项目,如果我遗漏了一些琐碎的东西,我表示歉意。 我目前正在尝试清理代码,并决定将我的Handlebar模板从index.html文件移到它们自己的文件中。我还想尝试预编译这些文件。因为我已经在使用grunt了,grunt contrib车把看起来是最好的选择 以下说明:我使用以下命令安装了grunt contrib把手: npm install grunt-contrib-handlebars --save-dev 我还向GrunFile中添加了以下代码

首先,我想说这是我第一个使用grunt的项目,如果我遗漏了一些琐碎的东西,我表示歉意。 我目前正在尝试清理代码,并决定将我的Handlebar模板从index.html文件移到它们自己的文件中。我还想尝试预编译这些文件。因为我已经在使用grunt了,grunt contrib车把看起来是最好的选择

以下说明:我使用以下命令安装了grunt contrib把手:

npm install grunt-contrib-handlebars --save-dev
我还向GrunFile中添加了以下代码:

...

    handlebars: {
        compile: {                                             
            files: {
                '<%= config.app %>/scripts/templates/handlebarTemplates.js': '<%= config.app %>/scripts/templates{,*/}*.hbs'
            }
        }   
    }
});

grunt.task.loadNpmTasks('grunt-contrib-handlebars');

...
这将成功生成handlebarTemplates.js文件。但是,当我运行该网页时,会出现以下错误:

Uncaught TypeError: Cannot read property 'JST' of undefined 
在handlebarTemplates.js中的第1行:

this["JST"] = this["JST"] || {};
我是否缺少一些初始化步骤

我在网上找不到任何关于这个的讨论,所以我想我遗漏了一些明显的东西。如有任何意见,将不胜感激

额外信息:

我创建了我的项目/我的GrunFile是使用yeoman生成的


如果您需要更多代码,请告诉我。我不想用不必要的代码使我的帖子过载。

今天我在重新编译模板时遇到了同样的错误,而直到昨天它还运行得很好。
this["JST"] = this["JST"] || {};