当前位置: 首页 > 面试题库 >

在最小的角度javascript中调试未知提供程序

卢枫涟
2023-03-14
问题内容

我很难确定在我的角度应用程序中有哪些方法会导致错误:

Uncaught Error: [$injector:unpr] Unknown provider: nProvider <- n

只有在JavaScript被ASP.Net捆绑并缩小后,才会发生这种情况。

我已经确保所有控制器以及任何其他DI使用的是缩小安全方法,IE我的控制器/服务等都使用了以下方法:

appControllers.controller('myCtrl', ['$scope', function($scope){
        //......
}]);

我遍历了我们应用程序中的每个JS文件-有很多…并且找不到任何违反这种注入依赖关系方式的内容-尽管一定有一个地方…

是否有更好的方法来确定可能导致此错误的方法?

谢谢


问题答案:

如评论中所述,这些是我尝试查找JS错误所采取的步骤。

如果有其他更简单的解决方案,请随时发布,我可能会将其标记为已接受。

尝试调试缩小的代码是一场噩梦。

我最终要做的就是直接从Chrome的检查器中复制缩小的javascript。

然后,我将JS粘贴到http://www.jspretty.com/中
-我曾尝试过http://jsbeautifier.org/,但发现他们的网站被如此大的JS代码冻结。

一旦“确定”,我就在解决方案中创建了一个test.js文件,并将该文件(现在更易于阅读)粘贴到了文件中。

快速注释掉@script标签中的标签_layout并添加到test.js文件的链接的快速步骤,我准备调试一个现在就更容易阅读的Javascript块。

遍历调用堆栈仍然很尴尬,尽管现在您可以看到实际的方法,这使得它的可能性大大降低。



 类似资料:
  • 问题内容: 您好,我正在用Jasmine编写我的第一个角度测试,但是我一直收到错误消息 ------测试开始:文件:C:\ Users \ Regan \ Documents \ Visual Studio 2013 \ WebSites \ Regan \ testApp \ TestProject \ ng-tests \ MainCtrlSpec.js ------使用内联测试’MainCt

  • 问题内容: 编译资产时,打开资产放大后,我的Rails应用程序无法工作。我将Angular控制器转换为使用方括号表示法,并得到以下错误,是否可以调试此方法? 编译的application.js https://gist.github.com/jianbo/6665161 JS错误 问题答案: 这个错误本身就是Angular所说的,它不知道要为“ t”注入什么。这意味着“ t”必须是某处注射剂的最小

  • 问题内容: 我将其他html文件作为模板包含在index.html中。为此,我正在使用ng-view指令。但是我遇到一个错误: 我使用的代码是: 这是控制器: 配置: 这是HTML: 我在哪里想念? 问题答案: 做完了 在大多数情况下,这将是angular-route的冲突,而angularjs存在冲突。之后,由于持续不断的循环请求,导致页面崩溃 每次看到“ /”,它都会重新重定向到同一页面,从而

  • 问题内容: 我有一个奇怪的问题。我想在我的AngularJS项目中包含angular-animate-我正在使用AngularJS v1.2.6。我已添加到我的凉亭文件。它已下载并添加到源代码中的HTML文件中,并且指向正确的文件(已在浏览器中加载)。现在我需要将其添加为依赖项,因此将模块添加到我的应用中… 但是,一旦Grunt开始检测文件更改并生成,我会收到以下错误: 我检查了拼写,遵循了htt

  • 问题内容: 我正在尝试“定制” mongolab示例以适合我自己的REST API。现在我遇到了这个错误,我不确定自己在做什么错: 这是我的控制器: 这是模块: 问题答案: 您的代码看起来不错,实际上,当将其复制并粘贴到示例jsFiddle中时,它可以正常工作(除了调用本身): http //jsfiddle.net/VGaWD/ 很难说发生了什么而没有看到更完整的示例,但是我希望上面的jsFid

  • 问题内容: 在以下代码示例中: 我收到类似“未知提供者$ cookieStore”的angularjs错误。 “ myApp”具有Dependenciy和“ ngCookies”,并且对angular-cookies.min.js进行了评分,那么该代码有什么问题? 那是我在.config中执行此操作的事实吗? 问题答案: 因为只能在配置时传递提供程序,所以我最终没有通过请求转换器而是通过将服务创建