compojure 中的 run-server 去哪儿了?

发布于 2024-10-24 18:24:41 字数 218 浏览 1 评论 0原文

我曾经能够在 compojure 中启动一个 Web 服务器,如下所示:

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

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

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

I used to be able to start a web server in compojure like this:

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

Does anyone know where this function has gone in the latest compojure? (0.6.2)

The docs say I'm supposed to run it from the command line and use some freaky auto-reloading thing, at which point I might as well be using python.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

小伙你站住 2024-10-31 18:24:41

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

对于jetty,使用

(use 'ring.adapter.jetty)

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

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

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

编辑: compojure 已分为ring 和ring 。影响力,而 compojure 本身仍然是顶部的一小部分高级抽象。大多数实际的服务器内容和设计文档现在都已在环中。请参阅https://github.com/mmcgrana/ring/wiki

You're looking at some seriously out-dated documentation.

For jetty, use

(use 'ring.adapter.jetty)

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

Where my-site is your top-level handler function.

You can call that function anywhere, including from the REPL in SLIME. Recompiling/redefining my-site will work on a running server, so there's no need for auto-reloading if you're already using an interactive environment.

EDIT: compojure has been split into ring & clout, with compojure itself remaining as a small selection of higher-level abstractions on top. Most of the actual server stuff and design documentation is now in ring. See https://github.com/mmcgrana/ring/wiki

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文