Extension Chrome hint.js & ngHintModules

Notre application angular ne se charge parfois pas sur le chrome canary (version 41.0.2237.0 canary (64-bit))

Échec de l’instanciation du module ngHintModules en raison de: RangeError: taille maximale de la stack d’appels dépassée

Mais il se charge bien dans Firefox, Chrome (Version 39.0.2171.71 (64-bit)), safari.

Probablement pas sûr qu’il y ait quelque chose à faire avec angular ou non.

Erreur complète

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: L’erreur que je montre ici provient de

Version 41.0.2237.0 canary (64 bits)

J’ai aussi eu ce problème qui a été résolu en désactivant Batarang.

Ce numéro est ouvert sur le Github Batarang ici: https://github.com/angular/angularjs-batarang/issues/156

Vous pouvez charger la version antérieure de Batarang à partir de ce fichier zip: https://github.com/angular/angularjs-batarang/archive/v0.4.3.zip

  1. Ouvrez Plus d’outils-> Extensions dans Chrome
  2. Localisez AngularJS Batarang et cliquez sur la poubelle pour supprimer l’extension
  3. Téléchargez le .zip
  4. Extraire le fichier
  5. Ouvrez Plus d’outils-> Extensions dans Chrome
  6. Vérifiez le mode développeur en haut
  7. Cliquez sur “Charger l’extension non compressée”
  8. Sélectionnez le répertoire où vous avez extrait le zip
  9. Si vous obtenez une erreur concernant le fichier manifeste, vous avez probablement sélectionné un niveau de répertoire trop élevé. Assurez-vous de sélectionner le répertoire angularjs-batarang-0.4.3
  10. Chargez une page AngularJS et utilisez à nouveau Batarang avec Inspector comme avant

Cela restaurera la version précédente qui, tout en ayant des problèmes, contient des fonctionnalités de travail telles que le profilage des performances, l’inspecteur d’étendue, les options et un onglet d’aide qui a disparu de la dernière version. La version 0.7.1 corrige la casse majeure des applications, mais ne fournit que l’arborescence de la scope (pas d’inspecteur) et la nouvelle fonctionnalité de conseil angular.

Vous n’avez pas besoin de désactiver le batarang angular; il suffit de faire ce qui suit:

  1. Ouvrez les outils de développement et accédez au fichier hint.js (celui qui déclenche le débordement de la stack)
  2. Aller à la ligne 453 append append un point d’arrêt
  3. recharger l’application, et quand il atteint le point d’arrêt, il suffit de le commenter (setupModuleLoader (window)) et cliquez sur continuer
  4. Il jettera toujours une exception, (Uncaught ReferenceError: angular n’est pas défini) mais vous pourrez lancer batarang

Je sais que ce n’est pas la meilleure solution, mais c’est la chose la plus rapide que je puisse trouver sans aller trop loin dans le problème

Mise à jour :

En vérifiant davantage ce qui se passe, j’ai remarqué que le problème se produit lorsque nous avons défini plusieurs modules et que nous ajoutons les mêmes dépendances pour chacun d’entre eux.

par exemple:

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

Lorsque je définis le moduleB sans passer le même deps avec son module parent, il n’y a pas de dépassement de stack.

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

Notre équipe vient de subir cette erreur et a été corrigée en mettant à jour l’extension Batarang dans Chrome au plus tard.

Mise à jour … Avec la nouvelle mise à jour de Chrome, le problème est de retour, donc si quelqu’un rencontrait cette erreur, revenez à la version précédente de Chrome. Toutes les versions disponibles ici, ne choisissez pas la première. http://www.slimjet.com/chrome/google-chrome-old-version.php Alors ça devrait bien fonctionner!

J’ai eu le même problème avec le site des pages GitHub (avec Jekyll).
Recherche d’heures pour lesquelles l’application AngularJS n’est pas apparue ( ng-cloak n’a jamais été résolu).
J’ai compris que c’était Batarang qui causait le problème.

Un grand merci pour la réponse de @kpg .