Compojure 是一個(gè)基于 ring 的上層web開(kāi)發(fā)框架。在 lein new compojure my-app 生成的項(xiàng)目中,默認(rèn)是啟用 jetty 服務(wù)器的,最近用到了 http-kit 中的 websocket, 所以需要將服務(wù)器改為 http-kit 的。其實(shí)很簡(jiǎn)單,只要將 run-jetty 替換為 run-server 即可。兩者的參數(shù)是一樣的:
(run-jetty app options)(run-server app options)
更改之后要注意兩點(diǎn):
1.1 啟動(dòng)
之前的啟動(dòng)可以 lein ring server 直接啟動(dòng)起來(lái),而且默認(rèn)支持熱代碼更新的。但是改成 http-kit 之后,需要 lein run。
; 之前是lein ring server
; 改動(dòng)后lein run
1.2 代碼熱更新
上述配置之后,代碼是不會(huì)熱更新的。如果要支持代碼熱更新,需要使用 ring.middleware.reload 來(lái)手動(dòng)配置一下:
(defn -main [& args] ;; 入口函數(shù) (let [handler (reload/wrap-reload (site #'all-routes))] ;reload/wrap-reload 中間件就是熱更新的功能 (run-server handler {:port 8080}))) ; run-server 來(lái)使用 http-kit
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注