【问题标题】:Automatic Code reloading in Ring / JettyRing / Jetty中的自动代码重新加载
【发布时间】:2013-02-20 02:49:49
【问题描述】:

将 Ring / Jetty 与 Clojure 一起使用,当我对代码进行任何更改时,我必须重新加载整个 JVM。

是否可以让 Jetty 与我的代码更改保持异步,以便我可以简单地刷新浏览器窗口并立即获取更改?

具体来说,我正在使用 Hiccup 进行 HTML 解析,它主要是我所做的布局更改。

如果布局更改自动编译并在刷新时在浏览器中可用,这将节省大量时间。

有人知道这方面的信息吗?有什么解决办法吗?

【问题讨论】:

    标签: layout asynchronous clojure jetty ring


    【解决方案1】:

    您可能想查看lein-ring 特别是:auto-reload?:auto-refresh? 选项。

    【讨论】:

      【解决方案2】:

      作为 ring 中自动重新加载功能的替代方案,如果您使用的是启用 repl 的开发系统,例如 emacs + nrepl 或逆时针(如果不这样做,您应该尝试一下,看看它有什么不同),您可以直接从编辑器重新评估特定定义或文件到正在运行的系统中。 IMO 这是一个比保存+(自动)重新加载要好得多的工作流程。我使用 emacs/nrepl.el,但我从来没有使用过自动重新加载。

      【讨论】:

      • +1 - 只需确保以不缓存您正在攻击的 fn 值的方式编写处理程序,您可以从 REPL 启动嵌入式 Jetty 并查看当您重新评估时,您的更改会立即显示,甚至无需重新启动服务器。第一次几乎感觉就像魔术一样。 :)
      猜你喜欢
      • 1970-01-01
      • 2012-04-16
      • 2016-09-03
      • 2013-04-05
      • 1970-01-01
      • 2014-07-21
      • 2016-04-18
      • 1970-01-01
      • 2015-11-24
      相关资源
      最近更新 更多