Chrome扩展程序hint.js& ngHintModules

时间:2014-12-10 04:28:48

标签: angularjs google-chrome google-chrome-extension

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

  

由于以下原因无法实例化模块ngHintModules:RangeError:Maximum   调用堆栈大小超过

但它在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

注意:我在这里显示的错误来自

  

版本41.0.2237.0 canary(64位)

6 个答案:

答案 0 :(得分:47)

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

答案 1 :(得分: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. 选择解压缩邮件的目录
  9. 如果您收到有关清单文件的错误,那么您可能选择了一个目录级别太高。确保选择底层angularjs-batarang-0.4.3目录
  10. 加载一个AngularJS页面,再次使用Inspector再次使用Batarang
  11. 这将恢复以前的版本,该版本虽然存在问题但确实有一些主要的工作功能,如性能分析,范围检查器,选项和帮助选项卡,这些功能已从最新版本中删除。 0.7.1版本修复了应用程序的主要破坏,但它仅提供范围树(无检查器)和新的角度提示功能。

答案 2 :(得分:13)

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

  1. 打开开发人员工具并导航到hint.js文件(触发堆栈溢出的文件)
  2. 转到第453行添加添加断点
  3. 重新加载应用程序,当它到达断点时只需将其注释掉(setupModuleLoader(window))并单击“继续”
  4. 它仍会抛出异常,(未捕获的ReferenceError:angular未定义)但你可以运行batarang
  5. 我知道这不是最好的解决方案,但这是我能找到的最快的事情,而不会深入解决问题

    <强>更新

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

    例如:

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

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

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

答案 3 :(得分:8)

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

答案 4 :(得分:0)

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

答案 5 :(得分:0)

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

非常感谢@kpg answer