Program Tip

Chrome 확장 프로그램 hint.js 및 ngHintModules

programtip 2020. 12. 8. 19:54
반응형

Chrome 확장 프로그램 hint.js 및 ngHintModules


우리의 각도 앱은 때때로 크롬 카나리아 (버전 41.0.2237.0 카나리아 (64 비트))에로드되지 않습니다.

다음으로 인해 모듈 ngHintModules를 인스턴스화하지 못했습니다. RangeError : 최대 호출 스택 크기를 초과했습니다.

하지만 파이어 폭스, 크롬 (버전 39.0.2171.71 (64 비트)), 사파리에서는 잘로드됩니다.

아마도 각도와 관련이 있는지 여부는 확실하지 않을 것입니다.

전체 오류

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 : 여기에 표시되는 오류는

버전 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

  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 버전은 앱의 주요 손상을 수정하지만 스코프 트리 (검사기 없음)와 새로운 각도 힌트 기능 만 제공합니다.


Angular batarang을 비활성화 할 필요는 없습니다. 다음을 수행하십시오.

  1. 개발자 도구를 열고 hint.js 파일 (스택 오버플로를 트리거하는 파일)으로 이동합니다.
  2. 453 행으로 이동하여 중단 점 추가 추가
  3. 앱을 다시로드하고 중단 점에 도달하면 주석 처리 (setupModuleLoader (window))하고 계속을 클릭합니다.
  4. 여전히 예외가 발생하지만 (Uncaught ReferenceError : angular가 정의되지 않음) batarang을 실행할 수 있습니다.

최선의 해결책이 아니라는 것을 알고 있지만 문제에 너무 깊이 들어 가지 않고도 찾을 수있는 가장 빠른 방법입니다.

업데이트 :

무슨 일이 일어나고 있는지 더 확인하면서 여러 모듈을 정의하고 모든 모듈에 대해 동일한 종속성을 추가 할 때 문제가 발생한다는 것을 알았습니다.

예를 들면 :

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

부모 모듈과 동일한 deps를 전달하지 않고 moduleB를 정의하면 스택 오버플로가 없습니다.

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

우리 팀에서 방금이 오류가 발생했으며 Chrome의 Batarang 확장 프로그램을 최신으로 업데이트하여 수정했습니다.


Update... With the new update of Chrome, the problem is back, so if anyone experienced this error, revert back to previous build of Chrome. All builds available here, don't pick the first one. http://www.slimjet.com/chrome/google-chrome-old-version.php Then it should work fine!


I had the same problem with GitHub pages site (with Jekyll).
Searched for hours why does AngularJS app didn't show up (ng-cloak was never resolved).
Figured out that was Batarang which causing the issue.

Great thanks for @kpg's answer.

참고URL : https://stackoverflow.com/questions/27393367/chrome-extension-hint-js-nghintmodules

반응형