【问题标题】:How to use compojure from Intellij如何使用 Intellij 的 compojure
【发布时间】:2015-01-18 21:27:50
【问题描述】:

我花了更多的时间来尝试编译和运行来自 intellij 的 compojure 应用程序。从命令行我使用 lein ring server-headless。如果我从 intellij 内部运行,则 REPL 开始,我无法从 REPL 内部调用或启动服务器。如何从 REPL 内部编译和运行服务器?

【问题讨论】:

    标签: intellij-idea clojure ring compojure


    【解决方案1】:

    您想从 repl 内部运行服务器吗?

    [ring/ring-jetty-adapter "1.3.1"] 添加为依赖项

    在 REPL 中:

    (require 'ring.adapter.jetty)

    (require 'quals.core.handler) ;需要包含处理程序的 YOUR ns

    (ring.adapter.jetty/run-jetty quals.core.handler/app {:port 3004})

    你可以在这里看到你可以传递的所有参数: http://mmcgrana.github.io/ring/ring.adapter.jetty.html

    你有它,服务器正在你的 repl 中运行。如果您想了解更多,可以随时查看weavejester/lein-ring 的源代码。

    在 Clojuring 周围玩得开心 :)

    【讨论】:

    • 如果您使用的是 http-kit,这是否意味着您不再使用 ring,因此上述方法不起作用?还是 compojure 仍然在引擎盖下使用环?
    • Compojure 只是构建了一个 ring 或 http-kit 可以使用的处理程序!它实际上是为了让构建复杂的处理程序更容易。
    • 如果你想使用 http-kit 从 REPL 启动服务器,你只需要关注这个http-kit.org/server.html#stop-server。您只需将处理程序(您使用 Compojure 制作的)传递给它。
    猜你喜欢
    • 2019-08-27
    • 2011-04-21
    • 2012-04-21
    • 2013-07-04
    • 2018-09-05
    • 2019-01-01
    • 2017-11-27
    • 2011-09-01
    • 1970-01-01
    相关资源
    最近更新 更多