문제
MooTools 라이브러리를 사용 중인데 브라우저 콘솔이나 JavaScript errors 페이지 에 아래와 같은 오류가 표시되는 것을 확인했습니다.
Uncaught TypeError: t is not a function
Uncaught (in promise) TypeError: Failed to execute 'removeEventListener' on 'EventTarget': 2 arguments required, but only 0 present.
원인
MooTools 라이브러리(특히 호환성 계층)는 여러 기본 JavaScript 개체 및 메서드를 변경하여 New Relic 브라우저 에이전트를 비롯한 최신 라이브러리와 충돌을 일으킬 수 있습니다.
솔루션
- MooTools의 마지막 버전이 2016년에 출시되었기 때문에 MooTools에서 적극적으로 유지 관리되는 다른 라이브러리로 마이그레이션하는 것이 가능한 경우 최선의 전략적 선택일 수 있습니다.
- MooTools에서 마이그레이션할 수 없는 경우 최신 MooTools 버전
1.6.0
의nocompat
빌드로 업데이트하는 것이 좋습니다. - MooTools의 사용자 정의 빌드를 사용하는 경우 사용자 정의 빌드를 생성할 때 호환성 계층을 비활성화해야 할 수 있습니다.