gpt4 book ai didi

angularjs - 如何定位缺少 $injector 错误?

转载 作者:行者123 更新时间:2023-12-02 07:57:43 24 4
gpt4 key购买 nike

我正在将一些核心的 Angular 内容移植到一个新项目中。现在我收到注入(inject)器错误,但堆栈跟踪/Angular 错误页面不显示有问题的注入(inject)错误的类名。我得到的只是

Error: $injector:modulerr
Module Error

通常在某个地方有一个类名。现在我必须检查每个类(数十个)并手动检查导入。难道就没有更好的办法吗?我在添加类时就看到了这种情况的发生。有时它会显示丢失的注入(inject)的名称,有时它只是显示为空白,否则堆栈跟踪会正确识别丢失/错误的注入(inject)。

是否有一些额外的 Debug模式可以获取此信息?

完整的(无用的)堆栈跟踪:

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

如果您想尝试重现此问题,请提交您的更改。到处删除几个文件。运行你的 Angular 应用程序。如果删除得足够多,您很快就会收到空白注入(inject)器错误。

最佳答案

一些提示和技巧:

一个similar injector error answer此处适用:在 Angular 错误代码上设置断点并查看调用堆栈。

此外,有时单击堆栈跟踪顶部的链接会转到某个页面(没有类名),但该页面的错误有另一个堆栈跟踪链接。单击该链接,第二页可能会显示丢失对象的名称。

此外,如果您还没有转向带注释的代码(这可以更容易地发现注入(inject)器错误),在 Angular 1.3 及更高版本中,您可以在任何具有 ng- 的元素上使用指令“ng=strict-di” app 指令,这将导致应用程序在任何未注释的模块上抛出错误 - 并且它将包含该函数以及参数('function($scope,service,some)'),希望它足够独特快速查找。

关于angularjs - 如何定位缺少 $injector 错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24501386/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com