Я написал приложение AngularJS, но отлаживать его оказалось немного кошмаром. Я использую Grunt + uglify для объединения и минимизации кода моего приложения. Он также создает карту источников вместе с минифицированным файлом JS.
Кажется, что исходная карта работает правильно, когда в файле есть ошибка JS, но за пределами приложения AngularJS. например Если я напишу console.log('a.b');
в верхней части одного из файлов, ошибка, записанная в отладчике Chrome, отобразит строку + информацию о файле для исходного файла, а не для минимизированного.
Проблема возникает, когда есть проблема с кодом, который Angular запускает сам (например, в коде контроллера). Я получаю хорошую трассировку стека от Angular, но в ней подробно описывается только минифицированный файл, а не оригинал.
Могу ли я что-нибудь сделать, чтобы Angular подтвердил исходную карту?
Пример ошибки ниже:
TypeError: Cannot call method 'getElement' of undefined
at Object.addMapControls (http://my-site/wp-content/plugins/my-maps/assets/js/app.min.js:1:2848)
at Object.g [as init] (http://my-site/wp-content/plugins/my-maps/assets/js/app.min.js:1:344)
at new a (http://my-site/wp-content/plugins/my-maps/assets/js/app.min.js:1:591)
at d (http://ajax.googleapis.com/ajax/libs/angularjs/1.2.0-rc.2/angular.min.js:29:495)
at Object.instantiate (http://ajax.googleapis.com/ajax/libs/angularjs/1.2.0-rc.2/angular.min.js:30:123)