2016-05-24 24 views

Antwort

6

Da der ClojureScript-Compiler JavaScript-Code ausspuckt, sollte die Integration ziemlich trivial sein. Fügen Sie einfach die ^:export Annotation zu allen ClojureScript-Definitionen hinzu, auf die Sie mit Ihrem JavaScript-Code zugreifen möchten. JavaScript-Funktionen/Variablen aus Ihrem ClojureScript Code verweisen, das Präfix nur den globalen Namen mit js/

; ClojureScript 
(ns my-namespace.core) 

(defn ^:export my-identity [x] x) 
// call from JavaScript 
my_namespace.core.my_identity(5); // Notice how "-" is replaced with "_" 

Wenn Sie wollen.

; Calling global JavaScript function from ClojureScript 
(js/alert "Hello!") 

Werfen Sie einen Blick auf diese blog post on ClojureScript/JavaScript interop für weitere Beispiele.

Die JavaScript Interop-Abschnitt auf der ClojureScript Cheatsheet ist auch eine gute Referenz. Beispielsweise werden die Funktionen clj->js und js->clj dokumentiert, die Sie zum Konvertieren zwischen Objekten im Clojure-Stil (Schlüsselwörter, Vektoren, Maps) und Objekten im JavaScript-Stil (Strings, Arrays, Maps/Objekte) benötigen.