2012-12-05 3 views
1

타사 JavaScript 응용 프로그램에 기여하고 있습니다. X라고 부르 자. 웹 사이트 소유자는 자신의 사이트에 X를 넣을 수 있으며 Y로 호출 할 수 있으며 스크립트 태그를 사용하고 X 일부 콘텐츠를 렌더링하거나 이벤트에 응답 할 수 있습니다. Disqus와 같은 것을 생각해보십시오.타사 JavaScript 응용 프로그램 종속성 관리

X는 Handlebars, Underscore.js 등과 같은 라이브러리에 의존 할 수 있습니다. Y와 간섭하지 않는 방식으로 이러한 종속성 문제를 해결해야합니다. X가 Handlebars 및 Underscore.js를 자체적으로 가져오고 Y에는 이미이 라이브러리가 포함되어 있습니다. 거기에는 정의되지 않은 동작을 일으킬 수있는 두 가지 버전이 있기 때문에 문제가 발생할 것입니다.

이런 상황을 처리하는 가장 좋은 방법은 무엇입니까?

답변

0

웹 사이트 소유자가 X와 동일한 종속성 관리 시스템을 사용할 것이라고 보장 할 수는 없으므로 조건부로드 만 사용하면 안됩니까? window.jQuery가 있는지 (예 :) 확인하고 jQuery가 아직 정의되지 않은 경우에만로드하십시오. 네임 스페이스가 적절히 설정된 제 4 자 구성 요소에 대해서도 마찬가지입니다. 사용자가 페이지 하단에 라이브러리를로드하도록 요청하면 괜찮을 것입니다.

명확성과 속도를 위해 http://yepnopejs.com/과 같은 조건부 로더를 사용할 수 있습니다.

또는 사용자가 필요한 라이브러리를 직접 삽입하도록 할 수 있습니까? 배포 지점에서 의존성을 설명하고 코드를 제공하고 필요한 다른 라이브러리가 페이지에 없을 때 오류 상태 (예 : 대화 상자, console.log 등)를 제공합니다.

+0

아, 예, yepnope가 그것을 처리하는 좋은 방법이 될 것이라고 동의합니다. 귀하의 제안에 감사드립니다. – Leirith

관련 문제