[英]Compile multiple cljs-files to independent js-files
編輯:如果有人嘗試為一個項目構建獨立的cljs / js文件:它的工作方式完全如下所述。 您只需要確保cljs目錄僅包含所需的文件-我的錯是無意間在一個目錄中保留了另一個(未使用的)cljs文件的副本; 盡管未引用,但它將被編譯成所需文件。
我將cljsbuild與多個構建一起使用,以在同一頁面上生成兩個不同的cljs / js文件。 這些文件之間沒有依賴關系,它們使用不同的名稱空間。 在高級模式下編譯會生成兩個js文件,其中一個js文件包含整個js文件-因此一個文件不再需要。
有沒有一種方法可以生成兩個完全獨立的js文件,而無需設置兩個不同的項目?
我的project.clj的一部分:
:cljsbuild {:builds {:app1 {:source-paths ["src/cljs-app1"]
:compiler {:output-to "resources/public/js/app1.js"
:output-dir "resources/public/js/out-app1"
:asset-path "/js/out-app1"
:optimizations :none
:pretty-print true}}
:app2 {:source-paths ["src/cljs-app2"]
:compiler {:output-to "resources/public/js/app2.js"
:output-dir "resources/public/js/out-app2"
:asset-path "/js/out-app2"
:optimizations :none
:pretty-print true}}}}
:profiles {:dev {:cljsbuild {:builds {:app1 {:compiler {:source-map true}}
:app2 {:compiler {:source-map true}}}}}
:uberjar {:hooks [leiningen.cljsbuild minify-assets.plugin/hooks]
:env {:production true}
:aot :all
:omit-source true
:cljsbuild {:jar true
:builds {:app1 {:compiler
{:optimizations :advanced
:pretty-print false}}
:app2 {:compiler
{:optimizations :advanced
:pretty-print false}}}}}
:production {:cljsbuild {}}
}
找到了可能對https://github.com/thheller/shadow-build有用的東西
當前,在編譯每個內部版本時會使用源路徑的組合列表,這可能會導致結果js文件中出現令人驚訝的包含/泄漏。 解決方法是為每個構建分別運行cljsbuild:
lein cljsbuild once app1
lein cljsbuild once app2
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.