Chrome扩展程序hint.js和ngHintModules

问题描述 投票:59回答:6

我们的角度应用有时不会加载镀铬金丝雀(版本41.0.2237.0金丝雀(64位))说

无法实例化模块ngHintModules,原因如下:RangeError:超出最大调用堆栈大小

但它在firefox,chrome(版本39.0.2171.71(64位)),safari中运行良好。

可能不确定是否与角度有关。

完全错误

Uncaught Error: [$injector:modulerr] Failed to instantiate module ngHintModules due to:
RangeError: Maximum call stack size exceeded
    at Array.forEach (native)
    at module.exports (chrome-extension://ighdmehidhipcmcojjgiloacoafjmpfk/dist/hint.js:2333:21)
    at module.exports (chrome-extension://ighdmehidhipcmcojjgiloacoafjmpfk/dist/hint.js:2384:5)
    at chrome-extension://ighdmehidhipcmcojjgiloacoafjmpfk/dist/hint.js:2387:7
    at Array.forEach (native)
    at module.exports (chrome-extension://ighdmehidhipcmcojjgiloacoafjmpfk/dist/hint.js:2385:21)
    at chrome-extension://ighdmehidhipcmcojjgiloacoafjmpfk/dist/hint.js:2387:7
    at Array.forEach (native)
    at module.exports (chrome-extension://ighdmehidhipcmcojjgiloacoafjmpfk/dist/hint.js:2385:21)
    at chrome-extension://ighdmehidhipcmcojjgiloacoafjmpfk/dist/hint.js:2387:7

NB:我在这里展示的错误来自

版本41.0.2237.0金丝雀(64位)

angularjs google-chrome google-chrome-extension
6个回答
47
投票

我也有这个问题,通过禁用Batarang解决了。


28
投票

这个问题在Batarang Github上打开了:https://github.com/angular/angularjs-batarang/issues/156

您可以从以下zip文件加载以前版本的Batarang:https://github.com/angular/angularjs-batarang/archive/v0.4.3.zip

  1. 在Chrome中打开更多工具 - >扩展程序
  2. 找到AngularJS Batarang并单击垃圾桶以删除扩展名
  3. 下载.zip
  4. 提取文件
  5. 在Chrome中打开更多工具 - >扩展程序
  6. 检查顶部的开发者模式
  7. 点击“加载解压缩的扩展程序”
  8. 选择解压缩zip的目录
  9. 如果您收到有关清单文件的错误,那么您可能选择了一个目录级别太高。确保选择底层angularjs-batarang-0.4.3目录
  10. 加载AngularJS页面并使用Inspector再次使用Batarang

这将恢复以前的版本,虽然有问题确实有一些主要工作功能,如性能分析,范围检查器,选项和帮助选项卡,这些功能已从最新版本中删除。 0.7.1版本修复了应用程序的主要破坏,但它仅提供范围树(无检查器)和新的角度提示功能。


13
投票

你不需要禁用Angular batarang;只需执行以下操作:

  1. 打开开发人员工具并导航到hint.js文件(触发堆栈溢出的文件)
  2. 转到第453行添加添加断点
  3. 重新加载应用程序,当它到达断点时只需将其注释掉(setupModuleLoader(window))并单击继续
  4. 它仍会抛出一个异常,(未捕获的ReferenceError:angular未定义)但你可以运行batarang

我知道这不是最好的解决方案,但这是我能找到的最快的事情,而不会深入研究问题

更新:

检查更多正在发生的事情,我注意到当我们定义了多个模块并且我们为所有模块添加相同的依赖项时,问题就会发生。

例如:

angular.module("app", ["moduleB", "moduleC"]);
angular.module("moduleB", ["moduleC"]);

当我定义moduleB而没有通过它的父模块传递相同的deps时,就没有堆栈溢出。

angular.module("moduleB", []);

8
投票

我们的团队刚刚遇到此错误,并通过将Chrome中的Batarang Extension更新为最新版本来解决此问题。


0
投票

更新...随着Chrome的新更新,问题又回来了,所以如果有人遇到此错误,请恢复到之前的Chrome版本。这里提供的所有版本都不会选择第一个版本。 http://www.slimjet.com/chrome/google-chrome-old-version.php然后它应该工作正常!


0
投票

我与GitHub页面网站(与杰基尔)有同样的问题。 搜索了几个小时为什么AngularJS应用程序没有显示(ng-cloak从未解决)。 弄清楚是造成这个问题的Batarang。

非常感谢@kpganswer

© www.soinside.com 2019 - 2024. All rights reserved.