Chrome扩展程序hint.js&ngHintModules
我们的angular度应用程序有时不加载在铬金丝雀(版本41.0.2237.0金丝雀(64位))说
由于:RangeError:超出最大调用堆栈大小,无法实例化模块ngHintModules
但它加载罚款Firefox,铬(版本39.0.2171.71(64位)),Safari浏览器。
可能不确定是否有angular度与否。
完全错误
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位)
我也有这个问题,这是通过禁用Batarang解决的。
这个问题在这里的Batarang Github上打开: https : //github.com/angular/angularjs-batarang/issues/156
你可以从这个zip文件中加载之前的Batarang版本: https : //github.com/angular/angularjs-batarang/archive/v0.4.3.zip
- 在Chrome中打开更多工具 – >扩展程序
- findAngularJS Batarang并点击垃圾桶去除扩展名
- 下载.zip
- 解压文件
- 在Chrome中打开更多工具 – >扩展程序
- 检查顶部的开发人员模式
- 点击“加载解压后的扩展名”
- select解压缩的目录
- 如果您得到有关清单文件的错误,那么您可能select了一个太高的目录级别。 确保你select了最底层的angularjs-batarang-0.4.3目录
- 像以前一样,加载一个AngularJS页面并使用Inspector再次使用Batarang
这将恢复以前的版本,虽然有问题确实有一些主要工作function,如性能分析,范围检查,选项,并从最新版本的帮助选项卡。 0.7.1版本修复了应用程序的主要破坏,但它只提供范围树(没有检查器)和新的angular度提示function。
你不需要禁用Angular batarang; 只需执行以下操作:
- 打开开发者工具并导航到hint.js文件(触发堆栈溢出的文件)
- 转到第453行添加一个断点
- 重新加载应用程序,当它击中断点只是注释掉(setupModuleLoader(窗口)),然后单击继续
- 它仍然会抛出一个exception,(Uncaught ReferenceError:angular没有定义),但是你将能够运行batarang
我知道这不是最好的解决scheme,但是这是我能够find的最快速的事情,而不会深入到这个问题
更新 :
检查更多的发生了什么我注意到,当我们定义了多个模块时,问题就发生了,而且我们为它们添加了相同的依赖关系。
例如:
angular.module("app", ["moduleB", "moduleC"]); angular.module("moduleB", ["moduleC"]);
当我定义moduleB而没有通过它的父模块传递相同的代价,那么没有堆栈溢出。
angular.module("moduleB", []);
我们的团队刚刚经历了这个错误,并且通过将Chrome中的Batarang Extension更新为最新版本而得到修复。
更新…随着Chrome的新的更新,问题又回来了,所以如果有人遇到这个错误,恢复到以前的版本的Chrome。 所有可用的版本,不要select第一个。 http://www.slimjet.com/chrome/google-chrome-old-version.php然后它应该工作正常!;