5

我曾经能够像这样在 compojure 中启动 Web 服务器:

(run-server {:port 8080} "/*" (servlet my-app))

有谁知道这个功能在最新的组合中去了哪里?(0.6.2)

文档说我应该从命令行运行它并使用一些奇怪的自动重新加载的东西,此时我还不如使用 python。

4

1 回答 1

10

您正在查看一些严重过时的文档。

对于码头,使用

(use 'ring.adapter.jetty)

(defn start-web []
  (run-jetty (var my-site) {:port 8080 :join? false}))

my-site 是您的顶级处理程序函数。

您可以在任何地方调用该函数,包括从 SLIME 中的 REPL。重新编译/重新定义 my-site 将在运行的服务器上运行,因此如果您已经在使用交互式环境,则无需自动重新加载。

编辑:compojure 已被拆分为 ring 和 clout,compojure 本身仍然是顶部的一小部分更高级别的抽象。大多数实际的服务器内容和设计文档现在都在循环中。见https://github.com/mmcgrana/ring/wiki

于 2011-03-20T22:14:29.340 回答