2013-04-23 1 views
7

저는 jQuery의 $ .ajax() 함수를 사용하는 매우 기본적인 JavaScript 라이브러리를 작성하고 있습니다.jQuery가 필요한 JavaScript 라이브러리를 패키지하는 가장 좋은 방법은 무엇입니까?

이 종속성을 어떻게 관리해야합니까? 내 라이브러리 사용자에게 jQuery를 포함하도록 지시해야합니까? 라이브러리 내에서 jQuery를로드하려면 RequireJS 또는 스크립트 태그 삽입과 같은 것을 사용해야합니까? 후자가 더 좋으면 사용자가 이미 jQuery를 사용하고 있다면 충돌을 일으키지 않고 어떻게해야합니까?

+1

독자가 jQuery를 포함하기 위해 라이브러리를 사용하는 사람이 필요합니다. 그것은 일반적으로 충분하며, 자체 코드 내에서 비 ​​호환성을 고려해야 할 필요가 있음을 강조합니다. –

+2

jQuery가 포함되어 있지 않고 메서드가 jQuery를 사용하는 경우 라이브러리에서 예외를 throw하는 것이 좋습니다. jQuery를 함께 포함 시키면 jQuery가 이미 포함되어있는 상황에서 자동으로 jQuery를 포함시킬 수 있습니다. –

+5

라이브러리 요구 사항이 모두'$ .ajax'라면, 여러분 만의 XMLHttpRequests를 작성하십시오. 죄송 합니다만 XHR에 대해서만 jQuery가 필요합니다. –

답변

2

jQuery 이외의 다른 종속성이있는 경우 다소 달라집니다.

jQuery가 유일한 의존성이고 라이브러리에 모듈 종속성 시스템이 필요하지 않은 경우 RequireJS를 사용하지 않는 것이 좋습니다. 라이브러리에 jQuery가 있는지 확인하고, 그렇지 않으면 오류를 던집니다.

그러나 유연하고 유지 보수가 용이 한 라이브러리를 만들려면 RequireJS와 같은 모듈 로더를 사용하는 것이 좋습니다. 이것은 또한 당신에게 당신이 결합 라이브러리

0

사용자에게 jquery를 먼저 포함 시키도록 조언합니다. 어떤 예제 든 선택할 수있게하면 실제로 사용되는 접근 방식 (예 : .net 프레임 워크)이 표시됩니다.

1

내가 원래 게시물에 추천 멍청한 나로 JSON 데이터를 가져 오기 위해 내 자신의 함수를 작성 결국 포장 할 수있는 build system를 사용하는 이점을 제공합니다. 대답 한 모든 사람들에게 감사드립니다. JavaScript 라이브러리 의존성에 대한 지침은 다른 경로를 따라 갔지만 매우 유용했습니다.

나는 this Stack Overflow answer을 JSON을 가져 오는 자신의 기능을 작성하는 지침으로 사용했습니다. 데이터를 동 기적으로 가져와야하므로 this other article에 설명 된 팁으로 기능을 조정했습니다.

결국 내 기능은 다음과 같습니다. 나는 그것이 오는 다른 누군가를 돕기를 바랍니다.

var fetchJSON = function(path, callback) { 
    var httpRequest = new XMLHttpRequest(); 
    httpRequest.open('GET', path, false); 
    httpRequest.send(); 
    if (httpRequest.readyState === 4) { 
    if (httpRequest.status === 200) { 
     var data = JSON.parse(httpRequest.responseText); 
     if (callback) callback(data); 
    } 
    } 
} 
+0

필요하면 이전 IE에서도 작동하지 않습니다. – blockhead

+0

의견을 보내 주셔서 감사합니다. @blockhead. 어떤 부분이 호환성을 나눕니까? JSON.parse 호출은 무엇입니까? –

+0

그냥 내 마지막 질문에 [답변] 대답했다 보았다 (http://stackoverflow.com/questions/14388452/how-do-i-load-a-json-object-from-a-file-with-ajax/14388512 # 14388512) 위 참조입니다. –

관련 문제