所以,我是一个 clojure n00b,当我试图为我正在构建的项目获取路线时,我错过了一些东西。
我在循环依赖方面遇到了一些问题,在使用 Django 之后,我认为将路由全部定义在一个地方要好得多,而不是像使用defpage
.
上代码:
这是我的core.clj
文件:
(ns blktechies-home.core
(:use compojure.core
hiccup.middleware)
(:require [compojure.route :as route]
[blktechies-home.routes :as site-routes]
[compojure.handler :as handler]
[compojure.response :as response]))
(def app
(-> (handler/site site-routes/app)
(wrap-base-url)))
然后在我的路线文件中,我有以下内容:
(ns blktechies-home.routes
(:use compojure.core
noir.core
hiccup.middleware)
(:require [compojure.route :as route]
[compojure.handler :as handler]
[compojure.response :as response]
[blktechies-home.views.common :as common]))
(defroutes app
(GET "/" [] (common/main-layout
(welcome/index-page)))
(route/resources "/")
(route/not-found "<h1>NOPE</h1>"))
一切都是404'ing,我什至不知道从这里去哪里。我可以使用该站点defpage
,但随着路由数量的增加,它看起来很丑陋且不可扩展。
所以
- 我在这里做错了什么?对底层组合/clojure/ring 层的任何洞察都会很棒
- 如果这不是定义路线的最佳方式,那是什么?
- github上有大型clj-noir网站的好例子吗?(我的 google-fu 让我失望了。)