상황
우리 Discourse 인스턴스에 이 외부 로깅 JS 라이브러리를 추가하여, log.setLevel('debug')와 같이 로그 레벨을 설정할 수 있는 이 가벼운 로깅 래퍼를 활용해서 디버깅 워크플로우를 개선하고자 합니다.
이 외부 라이브러리는 우리 앱에 설치된 모든 커스텀 플러그인, 테마 및 테마 컴포넌트에서 사용 가능해야 합니다.
구현
• 여러 플러그인에서 register_asset를 통해 JS를 가져오면 JS 파일이 여러 번 가져와지나요?
• Ember가 console.log를 선호하도록 로깅 유틸리티를 비추천(deprecated) 처리한 이후, 유사한 기능을 가진 대체 JS 라이브러리가 있나요?
현재 우리는 다음과 같은 경로를 통해 구현을 진행했습니다.
- 외부 JS를 가져오는 플러그인을 설치하고, JS 라이브러리를 window 객체(
window.log = log)를 통해 사용 가능하게 만듦
• JS 라이브러리가 이미 가져와진 경우에만 가져오기
• 다른 플러그인/테마/테마 컴포넌트는 해당 플러그인에 의존하게 되며, 오픈 소스 플러그인 같은 경우 사용자가 두 플러그인을 모두 설치하도록 강제됨
이 접근 방식이 타당하다고 보시나요, 아니면 다른 방식을 제안하시겠어요?