2015-05-20 21 views
1

我有一個包含Clojure & ClojureScript代碼的項目。當我通過lein ring server運行服務器並優化ClojureScript時,我希望包含未優化的ClojureScript。做這件事的慣用方法是什麼?Clojure Ring:如何確定開發服務器是否正在運行?

我使用:

[[bidi "1.19.0"] 
[hiccup "1.0.5"] 
[org.clojure/clojure "1.7.0-beta3"] 
[org.clojure/clojurescript "0.0-3269"]] 

[[lein-cljsbuild "1.0.4"] 
[lein-ring "0.9.4"]] 

我的處理只是簡單:

(def app (-> ["/" {:get {"" index-view}}] 
      (compile-route) 
      (make-handler))) 

,這是我的服務器指令:

:ring {:handler webapp.core/app} 

我正在尋找一種方式能夠在我的意見中做到這一點:

(dev-server? request) ;; => true if it's a development server, otherwise false. 

回答

1

執行此操作的慣用方法是使用leiningen profiles,使用:dev配置文件。然後你可以確保在你的ClojureScript構建中沒有優化的情況下在開發配置文件中進行,參見參考資料。 leiningen cljsbuild compilation profiles

如果你希望能夠找出devserver運行,你可以使用environ - 包括:env {:dev true}:dev配置文件,然後在你的代碼,你可以叫(env :dev)。你可能想看看reagent-template的靈感。

+0

我的問題不在於構建ClojureScript。 – muhuk

+0

我更新瞭解決你的'dev-server?'問題的答案。看看試劑模板,它建立了一個複雜的cljsbuild,解決你的問題(選擇優化/未優化)。 – schaueho

相關問題