필자는 확장해야 할 Dojo 1.8 (AMD 스타일)로 작성된 사전 작성된 클라이언트 애플리케이션을 사용하고 있습니다.Dojo : 미리로드 된 모듈 덮어 쓰기
소스 코드에 액세스 할 수 있지만 가능한 경우 변경하지 않고 대신 덮어 쓰기 (응용 프로그램 플러그인 프레임 워크가 작동하는 방식, 해킹이되는 방식)를 선호합니다.
내 스크립트는 기본 응용 프로그램 스크립트 이후에만로드됩니다. 예를 들어 djConfig를 수정할 수 없으며 기본 응용 프로그램 모듈을로드하기 전에 발생할 수있는 사항도 수정할 수 없습니다.
여기 내 질문 : 기본 응용 프로그램 클래스 중 하나를 확장 (declare로 만든)하고 내 재정의를 전역 적으로 적용하고 싶습니다. 이미이 클래스를 포함하고있는 모듈을 필요로하는 미리로드 된 모듈에서도 (그러나 아직 그것을 인스턴스화했다).
지금까지 가장 좋은 해결책은 require()를 사용하여 클래스를 포함하는 모듈의 별명을 지정하는 것입니다. 그러나 이것은 별칭을 등록 할 수있는 클래스를 필요로하는 모듈에서만 작동합니다.
가장 좋은 방법은 바로의 프로토 타입을 무시하는 것입니다 편집하려는 모듈 프로토 타입을 직접 또는 dojo.extend를 사용하여이 작업을 수행 할 수 있습니다. 또한 "dojo monkey patching"을 찾아보십시오. – tik27