簡體   English   中英

如何將clojurescript集成到現有的javascript代碼庫?

[英]How to integrate clojurescript to existing javascript code base?

我正在使用試劑在clojurescript中編寫插件功能。 我想在現有的react,flux應用程序中使用它。

我應該如何連接這兩個?

由於ClojureScript編譯器會吐出JavaScript代碼,因此集成應該非常簡單。 只需將^:export批注添加到要從JavaScript代碼訪問的任何ClojureScript定義中。

; 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 "_"

如果要從ClojureScript代碼中引用JavaScript函數/變量,只需在全局名稱前加上js/

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

有關更多示例,請查看有關ClojureScript / JavaScript interop的博客文章

ClojureScript Cheatsheet上的JavaScript Interop部分也是一個很好的參考。 例如,它記錄了clj->jsjs->clj函數,您需要使用這些函數在Clojure樣式對象(關鍵字,向量,映射)和JavaScript樣式對象(字符串,數組,映射/對象)之間進行轉換)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM