ember-1.0.pre.js в Opera "Необработанная ошибка: Object.defineProperty: первый аргумент, а не объект"

Мое приложение в Opera (12.02 build 1578, последняя версия для Windows 64 bit), использующее 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, реализация работает на всех, кроме Opera

1 ответ

Убедитесь, что вы включили 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'
        }
    }
});
Другие вопросы по тегам