ember-1.0.pre.js on Opera 'Unhandle Error: Object.defineProperty: first parameter not a Object'



我在Opera(12.02 build 1578,windows 64位上的最新版本)中使用ember.0.pre.js的应用程序正在抛出

'Unhandled Error: Object.defineProperty: first argument not an Object'

g ember-1.0.pre.min.js:9
(anonymous) ember-1.0.pre.min.js:9
(global) ember-1.0.pre.min.js:9

然而,我在Chrome、Safari或Firefox中没有遇到这个错误。我试图使用调试版本来获取更多信息,但当我使用ember-1.0.pre.js时(调试版本)我得到了抛出的错误

"Unhandled Error: assertion failed: Ember Handlebars requires Handlebars 1.0.beta.5 or greater"
Ember.assert ember-1.0.pre.js:43
(anonymous) ember-1.0.pre.js:17765
(global) ember-1.0.pre.js:17956

注意:我使用的是requirejs,除opera 外,其他所有都可以实现

确保以正确的顺序在HTML页面上包括handlebars.js,即按照加载javascript的顺序在ember.js之前。

<script src="/javascripts/handlebars.js" type="text/javascript"></script>
<script src="/javascripts/ember.js" type="text/javascript"></script>

而不是

<script src="/javascripts/ember.js" type="text/javascript"></script>
<script src="/javascripts/handlebars.js" type="text/javascript"></script>

我以前也会犯同样的错误——"Unhandled Error: assertion failed: Ember Handlebars requires Handlebars 1.0.beta.5 or greater"在我意识到装载顺序错误之前。我纠正错误后,错误就消失了。

编辑:刚刚注意到您提到您正在使用requirejs。我不太熟悉requirejs,但据我所知,请确保正确使用垫片配置:

requirejs.config({
shim: {
'ember': {
deps: ['handlebars', 'jquery'],
exports: 'Ember'
}
}
});

最新更新