[英]Dealing with resources (copying) when building a ClojurScript project using leiningen
我剛剛開始玩ClojureScript,我想將所有CSS文件收集到一個文件夾( out/css
)中。 我發現缺少leiningen,並使用以下配置將編譯后的CSS文件放入正確的位置:
:less {:source-paths ["src/less"] :target-path "out/css"}
我找不到任何有關如何處理普通CSS文件的文檔(例如,用於重置默認值的文件css/reset.css
)。 基本上我想要等效於cp css/*css out/css
。
我確實找到了lein-resource,但是它的功能超出了我的要求(通過stencil
傳遞內容),更重要的是,它通過我的UnsupportedOperationException
與我認為是有效的配置:
:resource {:resource-paths ["css" {:target-path "out/css"}]}
請啟發我!
對於您的特定用例,只需將reset.css重命名為reset.less。 更少的讀者應該能夠毫無問題地閱讀CSS。
對於更高級的前端工具,可以考慮添加諸如make / grunt / etc之類的東西。 復雜性更高,但功能和靈活性更高。
我認為更好,更簡單的解決方案是編寫一個使用clojure.java.io庫函數的函數,並將它們與無lein的“ compiler” fork集成在一起,所以這是我的內部函數建議:
(defn your-fn[]
(remove-folder "./out") ;; => you have to do how to make that fn following io lib doc
(copy-folder "./css ./out") ;; ;; => you have to do how to make that fn following io lib doc
(run-compiler :javascript
{:project-root "your-project-root/"
:source-paths ["less"]
:target-path "out"})))
PS:請注意,您需要在clojurescript編譯過程中調用此fn,順便說一句,我不知道是否有辦法:)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.