【发布时间】:2011-07-19 07:36:05
【问题描述】:
我曾经能够像这样在 compojure 中启动 Web 服务器:
(run-server {:port 8080} "/*" (servlet my-app))
有谁知道这个函数在最新的 compojure 中去了哪里? (0.6.2)
文档说我应该从命令行运行它并使用一些奇怪的自动重新加载功能,此时我还不如使用 python。
【问题讨论】:
我曾经能够像这样在 compojure 中启动 Web 服务器:
(run-server {:port 8080} "/*" (servlet my-app))
有谁知道这个函数在最新的 compojure 中去了哪里? (0.6.2)
文档说我应该从命令行运行它并使用一些奇怪的自动重新加载功能,此时我还不如使用 python。
【问题讨论】:
您正在查看一些严重过时的文档。
对于码头,使用
(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
【讨论】: