angularjs – 如何找到丢失的$injector错误?

我正在为一个新项目移植一些核心角色.现在我得到了喷油器错误,但堆栈跟踪/角度错误页面没有显示有问题的喷油错误的类名.我得到的只是

Error: $injector:modulerr
Module Error

通常在某处有一个类名.现在我必须经历每一个班级(几十个和几十个)并手动检查导入.有没有更好的方法?我只是在添加课程时看到了这种情况.有时它会显示缺失注射的名称,有时它只是空白,否则堆栈跟踪正确识别缺失/不良注射.

是否有一些额外的调试模式我可以获得这些信息?

完整(不可用)堆栈跟踪:

Failed to instantiate module FSApp due to:
Error: [$injector:modulerr] http://errors.angularjs.org/1.2.16/$injector/modulerr?p0=FSApp&p1=Error…cape%2Fmain%2Fresources%2Flib%2Fangular-1.2.16%2Fangular.min.js%3A32%3A445)
    at Error (native)
    at http://fs/main/resources/lib/angular-1.2.16/angular.min.js:6:450
    at http://fs/main/resources/lib/angular-1.2.16/angular.min.js:33:332
    at Array.forEach (native)
    at q (http://fs/main/resources/lib/angular-1.2.16/angular.min.js:7:280)
    at e (http://fs/main/resources/lib/angular-1.2.16/angular.min.js:32:445)
    at http://fs/main/resources/lib/angular-1.2.16/angular.min.js:33:18
    at Array.forEach (native)
    at q (http://fs/main/resources/lib/angular-1.2.16/angular.min.js:7:280)
    at e (http://fs/main/resources/lib/angular-1.2.16/angular.min.js:32:445

如果您想尝试重现此操作,请提交更改.在这里和那里删除几个文件.运行你的角度应用程序如果你删除的很多,很快就会出现空白的喷油器错误.

最佳答案 一些提示和技巧:

这里适用similar injector error answer:在角度错误代码上设置断点并查看调用堆栈.

此外,偶尔单击堆栈顶部的链接跟踪到一个页面(没有类名),但页面的错误有另一个堆栈跟踪链接.单击该链接,第二页可能具有缺少对象的名称.

此外,如果您还没有移动到带注释的代码(可以更容易发现注入器错误)在角度1.3和更高版本中,您可以在任何具有ng-app指令的元素上使用指令’ng = strict-di’,这将导致应用程序在任何未注释的模块上抛出错误 – 它将包括函数以及参数(‘函数($scope,service,something)’),这有望足够快,以便快速找到.

点赞