未捕获的TypeError:undefined不是compiled-templates.js中的函数

时间:2015-01-05 11:56:06

标签: ember.js ember-data handlebars.js

我正在使用ember中的第一个应用程序,其中句柄栏和ember.js的版本已经很老了。

我正在使用bower来安装所有依赖项。但是一旦我在运行应用程序时在控制台中出现错误,我在bower.json文件中将ember.js的版本指定为1.8,将handlebar的版本指定为2.0.0。但是现在由于模板不太老,我开始收到类似'未知模板对象:功能的错误,同时使用把手2.0' 。要解决此错误,我使用了here提到的步骤。

但是我仍然收到一个新错误 Uncaught TypeError:undefined不是函数。 任何人都可以建议如何升级模板吗?或者还有其他方式。

3 个答案:

答案 0 :(得分:0)

直到Ember 1.9才支持Handlebars 2.0。

答案 1 :(得分:0)

我必须更新package.json中提到的一些依赖项。 - 节点的ember-template-compiler。 this link上提到的解决方案对我很有用。

由于

答案 2 :(得分:0)

正在使用生产版handlebars.runtime.js而不是handlebars.js。运行时版本没有Handlebars.compile方法。如果您使用的是ember-cli,则可以将new EmberApp();替换为

new EmberApp({
   vendorFiles: {
     'handlebars.js': {
       production: 'bower_components/handlebars/handlebars.js'
     }
   }
 });

供参考:  http://www.ember-cli.com/#customizing-a-built-in-asset