Chrome扩展程序hint.js和ngHintModules

Kam*_*rul 60 google-chrome google-chrome-extension angularjs

我们的角度应用有时不会加载镀铬金丝雀(版本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
Run Code Online (Sandbox Code Playgroud)

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

版本41.0.2237.0金丝雀(64位)

kpg*_*kpg 47

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


Spl*_*tar 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版本修复了应用程序的主要破坏,但它仅提供范围树(无检查器)和新的角度提示功能.

  • 注意:您可能还需要启用,然后在控制台的AngularJS选项卡中禁用Batarang,以便重新激活控制台中对"$ scope"的访问权限. (2认同)

ppo*_*ani 13

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

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

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

更新:

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

例如:

angular.module("app", ["moduleB", "moduleC"]);
angular.module("moduleB", ["moduleC"]);
Run Code Online (Sandbox Code Playgroud)

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

angular.module("moduleB", []);
Run Code Online (Sandbox Code Playgroud)

  • 好点!我已经要求最佳答案指向你的,因为这既正确又有用. (4认同)

Ada*_*ick 8

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