Я использую require.js организовать мои ЯШ:Javascript - вызов нового на неопределенный объект
define([
'underscore',
'sylvester',
'glUtils',
'GLFacade',
'Item',
'Attribute',
'Buffer',
], function(
_,
sylv,
glUtils,
GLFacade,
Item,
Attribute,
Buffer
) {
"use strict";
function Sprite() { this.init.apply(this, arguments); }
_.extend(Sprite.prototype, {
init: function(prog, img, viewPort) {
this._frameNum = 0;
this._framesPerAnimation = 4;
this._prog = prog;
this._viewPort = viewPort;
this._img = new ImageWrapper(img);
//...other initialization stuff...
},
//...other methods...
});
return Sprite;
});
, но я постоянно впадать в ошибку, что я забыл добавить модуль в верхней части файла. Выше я забыл добавить ImageWrapper
к моим зависимостям. Когда я это делаю, мой код бесшумно выходит из строя без сообщений об ошибках, хотя ImageWrapper
- undefined
. Если я попытаюсь войти в систему console.log(ImageWrapper)
, я действительно получаю сообщение об ошибке.
Почему конструктор не звонит new ImageWrapper(img)
с ошибкой? И есть ли что-то похожее на "use strict;"
, что я могу использовать для увеличения информации об ошибках во время разработки?
Спасибо, я посмотрю, смогу ли я это сделать. Странно, что я не получаю никаких ошибок, даже когда создаю «новый спрайт». – xdhmoore
Можете ли вы попытаться запустить мою упрощенную версию и посмотреть, вызывает ли она ошибку? Возможно, у меня что-то не так, потому что я никогда раньше не использовал requirejs. – user3173842
Спасибо за помощь. Ваш пример помог мне найти проблему. Проблема заключалась в том, что весь мой код встречается внутри функции 'onFulfilled' [Q.spread] (https://github.com/kriskowal/q/wiki/API-Reference#promisespreadonfulfilled-onrejected), и я не определял обработчик ошибок. Я добавил '.catch()' в конце и исправил его. Это была ошибка, но Q просто проглотил ее. – xdhmoore