【发布时间】:2013-10-17 07:24:49
【问题描述】:
我已经编写了一个 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)
【问题讨论】:
标签: javascript angularjs source-maps