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'
}
}
});