0

我在 Opera(12.02 build 1578,Windows 64 位上的最新版本)中使用 ember.1.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,该实现适用于除歌剧之外的所有内容

4

1 回答 1

0

确保您handlebars.js以正确的顺序包含在您的 HTML 页面中,即在ember.js加载 javascript 之前的顺序。

<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 不是很精通,但据我所知,请确保您正确使用 shim 配置:

requirejs.config({
    shim: {
        'ember': {
            deps: ['handlebars', 'jquery'],
            exports: 'Ember'
        }
    }
});
于 2012-09-30T17:22:53.970 回答