मैं क्लोजरस्क्रिप्ट का उपयोग करके एक Google क्रोम एक्सटेंशन लिखना चाहता हूं। क्लोजरस्क्रिप्ट के साथ मैं सभी Google क्लोजर libs का उपयोग कर सकता हूं, लेकिन क्रोम ब्राउज़र में afaik पहुंच उन libs में शामिल नहीं है। इसलिए मैं अपने क्रोम सामान को अपने स्वयं के जावास्क्रिप्ट lib में लपेटना चाहता हूं।मैं क्लोजरस्क्रिप्ट में अपनी खुद की जावास्क्रिप्ट libs कैसे जोड़ूं?
अब तक मैंने अपना खुद का जार बनाने की कोशिश की है जिसमें एक ही जावास्क्रिप्ट फ़ाइल है जो सिर्फ एक फू ऑब्जेक्ट बनाती है और निर्माता को निर्यात करती है। I'v ClojureScript संकलक (जो भी उदाहरण goog.jar के लिए है) की lib निर्देशिका में इस जार जोड़ा है, लेकिन अब तक भाग्य के बिना:
Exception in thread "main" java.lang.IllegalArgumentException: No implementation of method: :-compile of protocol: #'cljs.closure/Compilable found for class: nil
at clojure.core$_cache_protocol_fn.invoke(core_deftype.clj:494)
at cljs.closure$eval1056$fn__1057$G__1047__1064.invoke(closure.clj:187)
at cljs.closure$get_compiled_cljs.invoke(closure.clj:422)
at cljs.closure$cljs_dependencies.invoke(closure.clj:440)
at cljs.closure$add_dependencies.doInvoke(closure.clj:462)
at clojure.lang.RestFn.applyTo(RestFn.java:139)
at clojure.core$apply.invoke(core.clj:602)
at cljs.closure$build.invoke(closure.clj:701)
at user$eval1246.invoke(cljsc.clj:21)
at clojure.lang.Compiler.eval(Compiler.java:6406)
at clojure.lang.Compiler.load(Compiler.java:6843)
at clojure.lang.Compiler.loadFile(Compiler.java:6804)
at clojure.main$load_script.invoke(main.clj:282)
at clojure.main$script_opt.invoke(main.clj:342)
at clojure.main$main.doInvoke(main.clj:426)
at clojure.lang.RestFn.invoke(RestFn.java:421)
at clojure.lang.Var.invoke(Var.java:405)
at clojure.lang.AFn.applyToHelper(AFn.java:163)
at clojure.lang.Var.applyTo(Var.java:518)
at clojure.main.main(main.java:37)
किसी को भी इस से पहले की कोशिश की है?
"ClojureScript से जावास्क्रिप्ट पुस्तकालय को विस्तृत करना" यदि यह केवल समस्या यह है, हम अभी भी सक्षम उपयोग कम अनुकूलन खंडिका से इन पुस्तकालयों होना चाहिए बैठकों। –
कोशिश करेगा Jquery-wrapper jayq https://github.com/ibdknox/jayq इसे विस्तृत करता है। हालांकि, क्लोजर-कंपाइलर कोड को और अधिक कुशल बनाता है, बाहरी libs धीमा हो जाएगा। – claj