2

누구나 dojo 및 dgrid에 대한 extern 정의 파일을 공유해야합니까?Dojo 툴킷 및 dgrid 용 클로저 컴파일러 extern

나는 이들을 내 clojurescript 프로젝트에 포함시키고 심지어 '간단한'clsure 컴파일러 최적화 옵션을 사용하려고합니다.

현재로서는 dgrid 및 dojo 툴킷이 Clojurescript 컴파일 프로세스와 호환되지 않습니다. 외국 libs와 옵션을 다음 폐쇄 컴파일러를 사용하여 '축소 된 버전 만들 수있는 폐쇄 컴파일러 활용 : 심지어 고급 또는 : 간단한 옵션

B를 즉 IT는) 도장 또는 함께 dgrid 포함 할 수 없습니다) extern 옵션 과 함께 dojo 또는 dgrid 라이브러리를 포함시킬 수도 없습니다. extern 옵션은 extern 정의 목록 (dojo/dgrid 릴리스에 포함되지 않음)을 작성해야하기 때문입니다.

dojo 팀이 툴킷을 변경해야하기 때문에 옵션 (a)이 막 다른지, 아마도 낮은 우선 순위 일 것입니다. Stephen Chung의 google-closure에서 작동하도록 Dojo를 수정하는 방법에 대한 50 개 이상의 페이지 문서를 읽었지 만 Dojo 1.9 이상을 다시 구현할 수있는 능력은 충분하지 않습니다.

저는 (b)가 결국 작동 할 수도 있다고 생각하지만, externs 라이브러리를 찾아야합니다. 누군가가 dojo 1.9 및 최신 dgrid에 대해이 작업을 수행하고 있다고 생각합니다.

내가 폐쇄 컴파일러 현재 사용 가능한 'externs'의 저장소를 확인했고, 도장이 https://code.google.com/p/closure-compiler/source/browse/#git%2Fcontrib%2Fexterns

하지 여기에 게시하기 전에 나는 또한 externs의 온라인 추출기를 발견했다 http://www.dotnetwise.com/Code/Externs/index.html

http://www.dotkam.com/2013/07/15/clojurescript-use-any-javascript-library/

그러나이 작업을 수행하기 위해 어떤 dgrid/dojo 파일을 사용해야할지 모르겠습니다.

따라서 누군가 이미 이러한 외부를 만들었는지 확인하십시오.

답변

0

자체 소스 파일을 externs 정의로 사용할 수 있습니다. 분명히 이것은 컴파일러가 라이브러리를 최적화 할 수 없다는 것을 의미하지만, 말한 것처럼 필요 없다면 좋은 작업 옵션입니다.

0

ClojureScript에서 dojo/dgrid에 익숙하지 않지만 ClojureScript와 함께 여러 자바 스크립트 라이브러리를 사용했습니다.

ClojureScript에서 복잡한 라이브러리를 사용하는 가장 좋은 방법은 해당 라이브러리를 터치하지 않고 Google Closure를 실행하지 않는 것입니다. (당신이 부르는 것 (b)). 따라서 externs.js에 매우 적은 externs 정의를 넣어야합니다. ClojureScript 코드에서 액세스하는 특정 변수/함수에 대해서만. 그들이 선언 한 모든 것에 externs.js가 필요하지 않습니다. Google Closure 컴파일러는 외부 js 라이브러리가 아닌 코드에서만 실행됩니다. 다음과 같은 경우에만 외부 입력해야합니다.1. js 코드에서 cljs 함수를 호출하십시오 (사용자의 j와 다른 munged 함수 이름을 호출하지 않기 위해) 2. cljs 코드에서 js 라이브러리 함수를 호출하십시오 (함수 호출에서 함수 이름을 munged하는 것을 피하기 위해).

이전에 수행해야 할 작업이 없으므로 특정 호출에 대해 작은 externs 파일을 정확하게 넣어야합니다.

관련 문제