簡體   English   中英

如何在clojurescript中包含外部JavaScript庫

[英]How to include external javascript libraries in clojurescript

我們試圖在一個目前用angularjs編寫的項目中引入clojurescript。 我們正在使用外部JavaScript庫 - 數據映射。 我們使用:foreign-libs編譯器選項以下列方式獲取依賴項文件:

 :compiler {:output-to "resources/public/js/testable.js"                                                                       
                              :main "gofigure.test-runner"                                                                                       
                              :foreign-libs [{:file "globe.js"                                                                                   
                                              :provides ["globe"]}                                                                               
                                             {:file "datamaps/src/js/datamaps.js"                                                                
                                              :provides ["datamaps"]}                                                                            
                                             {:file "d3/d3.js"                                                                                   
                                              :provides ["d3"]}                                                                                  
                                             {:file "topojson/topojson.js"                                                                       
                                              :provides ["topojson"]}}}

我們面臨一個錯誤,上面寫着:“無法讀取未定義的屬性'世界'

我們將此問題縮小到datamaps文件中的一個問題,我們認為這是因為在foreign-libs選項中我們提到了特定的datamaps.js文件,但我們錯過了datamaps文件夾中的其他文件,因此沒有准確地編譯整個庫。

有沒有辦法將整個庫包含為依賴項而不僅僅是單個文件?

Shadow-cljs可以解決這個問題。

Shadow-cljs可靠,最佳地以最少的配置解決這些探針。 在特定情況下,shadow-cljs允許您使用npm或yarn安裝npm模塊,並使用生成的package.json捆綁外部依賴項。

有關詳細信息, 請訪問https://gist.github.com/jmlsf/f41b46c43a31224f46a41b361356f04d

暫無
暫無

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

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