如何使用带有作为组件的环形处理器的图形轮?

时间:2015-05-23 22:25:54

标签: clojure ring

我想使用figwheel重新加载我正在玩的全部项目的前端。

后端提供REST api,并组织为一堆components,我在main函数中创建了一个系统(我使用duct来创建处理程序组件)。我想使用闭包将状态传递给我的处理程序,但配置figwheel以使用我的处理程序的唯一方法似乎是在project.clj中设置ring-handler键,这需要我传递一个处理程序在lein启动时在命名空间中定义。

那么 - 当我进行组件启动时,有没有办法配置figwheel?我在关闭时仍然很新,所以很可能我在视线中遗漏了一些东西。

Passing state as parameter to a ring handler?是一个类似的问题,但是那里的答案涉及将处理程序绑定到命名空间顶层的var,这是我试图避免的。

2 个答案:

答案 0 :(得分:2)

Figwheel不需要是处理程序。您可以通过将this代码解析为组件来包装在服务器启动和运行时自动启动的组件,这是对服务器组件的依赖,以便它首先启动。请注意,这不是官方支持。从shell运行lein figwheel以引导单独的JVM是常规用法。

如果您使用的是Stuarts组件库,我建议从服务器组件中而不是通过project.clj包装环处理程序。使用this project or adapt the code snippet作为码头组件。

请注意,figwheel是devtooling,所以在生产中你很可能想要提供用e构建的已编译的js文件。 G。 lein-cljsbuild

答案 1 :(得分:0)

詹姆斯·里夫斯(James Reeves)为无头轮here制作了一个零件

  

风管轮组件   Figwheel开发工具的一个组件,旨在在Duct框架中使用(但可以在任何基于组件的系统中使用)。

     

安装

     

将以下依赖项添加到您的project.clj:

[duct/figwheel-component "0.3.3"]