Angularjs Chrome扩展hint.js&;ngHintModules

Angularjs Chrome扩展hint.js&;ngHintModules,angularjs,google-chrome,google-chrome-extension,Angularjs,Google Chrome,Google Chrome Extension,我们的angular应用程序有时不会加载chrome canary(版本41.0.2237.0 canary(64位))上 无法实例化模块ngHintModules,原因是:RangeError:Maximum 超出了调用堆栈大小 但它在firefox、chrome(39.0.2171.71版(64位))和safari中都能正常运行 可能不确定是否与角度有关 完全错误 Uncaught Error: [$injector:modulerr] Failed to instantiate modul

我们的angular应用程序有时不会加载chrome canary(版本41.0.2237.0 canary(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版金丝雀(64位)


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

你不需要禁用角度巴塔朗;只需执行以下操作:

  • 打开开发者工具并导航到hint.js文件(触发堆栈溢出的文件)
  • 转到第453行添加断点
  • 重新加载应用程序,当它到达断点时,只需将其注释掉(setupModuleLoader(窗口))并单击“继续”
  • 它仍然会抛出一个异常(UncaughtReferenceError:angular未定义),但您可以运行batarang
  • 我知道这不是最好的解决方案,但这是我能找到的最快的解决方案,不必深入问题

    更新

    我注意到,当我们定义了多个模块,并且为所有模块添加了相同的依赖项时,就会出现问题

    例如:

    angular.module("app", ["moduleB", "moduleC"]);
    angular.module("moduleB", ["moduleC"]);
    
    当我定义moduleB时,没有将相同的DEP传递给其父模块,那么就没有堆栈溢出

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

    本期在巴塔朗Github上发布,网址为:

    您可以从此zip文件加载Batarang的早期版本:

  • 在Chrome中打开更多工具->扩展
  • 找到AngularJS Batarang并单击垃圾桶移除扩展
  • 下载
  • 提取文件
  • 在Chrome中打开更多工具->扩展
  • 检查顶部的开发人员模式
  • 单击“加载未打包的扩展”
  • 选择解压缩zip文件的目录
  • 如果清单文件出现错误,则可能选择的目录级别过高。确保您选择了底层angularjs-batarang-0.4.3目录
  • 加载一个AngularJS页面,像以前一样再次使用Inspector的Batarang

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

    我们的团队刚刚经历了这个错误,通过将Chrome中的Batarang扩展更新为最新版本来修复。

    更新。。。 随着Chrome的更新,问题又回来了,所以如果有人遇到了这个错误,请恢复到以前的Chrome版本。 此处提供所有版本,不要选择第一个。
    那么它应该可以正常工作了

    我对GitHub pages站点(与Jekyll)也有同样的问题。
    搜索了几个小时,为什么AngularJS应用程序没有出现(
    ng-Clope
    从未被解析)。
    发现是巴塔朗引起了问题


    非常感谢您的更新。

    他们一定刚刚向chrome商店推出了一个更新,因为我现在也得到了它。是的,这个错误是今天早些时候chrome AngularJS Batarang扩展的新0.5.0版本引入的。现在禁用它,直到修复。我昨晚在一个项目上工作到很晚,更改了很多代码,今天起床,它不工作。在搔了我30分钟的头后,一个快速的谷歌把我带到了这里。这个问题也影响到了我。我只是碰巧有0.7.4个分享这个的愿望,你为什么不创建一个plunker并将这个问题发布到ngHint github上呢?因为它实际上来自ngHint模块,而不是巴塔朗本身。显示冗余是问题的根源是一个好地方!我要求顶部的答案指向您的答案,因为这是正确的,而且更有用。注意:您可能还需要在控制台的AngularJS选项卡中启用,然后禁用Batarang,以便在控制台中重新激活对“$scope”的访问。在应用上述步骤后,我还必须禁用较新版本。我有2个Batarang。谢谢,在安装未打包的0.4.3版本之前,刚刚添加了一个步骤来禁用扩展。Brian向Chrome商店推出了一个0.7.1版本,该版本有一些修正。但我不确定它是否稳定。虽然此解决方案有效,但您可以找到一个临时解决方案。虽然此答案很有用,但应指向ppoliani的答案,该答案是正确的,并向您展示了如何通过使代码更干燥来修复它。这修复了应用程序的完全破坏,但是它仍然抛出了一些由扩展引起的异常。您还失去了范围检查器、性能选项卡、依赖关系图、选项和帮助选项卡的功能。