Clojurescript 当在浏览器中直接导航到某条路线时,它不会识别该路线

Clojurescript 当在浏览器中直接导航到某条路线时,它不会识别该路线,clojurescript,reitit,Clojurescript,Reitit,我正在尝试定义一些在我的网站上使用的路线。我对它们的定义如下: (def routes ["/" ["" {:name :home :controllers [{:start (fn [& params] (js/console.log "Home")) :stop (fn [& params] (js/console.log "Leaving Home"))}]}] ["posts" [""

我正在尝试定义一些在我的网站上使用的路线。我对它们的定义如下:

(def routes
  ["/"
   [""
    {:name :home
     :controllers [{:start (fn [& params] (js/console.log "Home"))
                    :stop (fn [& params] (js/console.log "Leaving Home"))}]}]
   ["posts"
    [""
     {:name :posts
      :controllers [{:start (fn [& params] (js/console.log "Posts"))
                     :stop (fn [& params] (js/console.log "Leaving Posts"))}]}]
    (for [post blog/posts]
      [(:route post)
       {:name (:tag post)
        :controllers [{:start (fn [& params] (js/console.log (:name post)))
                       :stop (fn [& params] (js/console.log "Leaving " (:name post)))}]}])]])

(defn on-navigate [new-match]
  (when new-match
    (re-frame/dispatch [::e/navigated new-match])))

(def router
  (rf/router
   routes))

(defn init-routes! []
  (rfe/start!
   router
   on-navigate
   {:use-fragment false}))
这是为了动态地为我在博客文件中定义的博客文章创建路由。当我从
localhost:8280/
localhost:8280/posts
开始并单击导航到
localhost:8280/posts/blank
(博客帖子模板页面)的帖子链接时,它的效果非常好。如果我正在查看一篇文章(
/posts/blank
)并刷新页面,它会打开一个空白屏幕,似乎不会加载任何已编译的javascript。如果我在
/
/posts
上重新加载,它将按预期工作,并允许我继续浏览

我有两个关于REIT的问题,我非常感谢您的帮助:

  • 为什么会发生这种情况?我可以在路线设置中更改什么来解决此问题
  • 我目前只能导航到
    /posts
    ,而不能导航到
    /posts/
    ,我怎样才能用末尾的额外
    /
    注册路线?如果我试图用相同的名称定义两个路由,它是不允许的

  • 我遇到了同样的问题。我很想知道你是否能解决这个问题。