簡體   English   中英

使用leiningen構建ClojurScript項目時處理資源(復制)

[英]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.

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