我想使用figwheel重新加载我正在玩的全部项目的前端。
后端提供REST api,并组织为一堆components,我在main
函数中创建了一个系统(我使用duct来创建处理程序组件)。我想使用闭包将状态传递给我的处理程序,但配置figwheel以使用我的处理程序的唯一方法似乎是在project.clj
中设置ring-handler键,这需要我传递一个处理程序在lein
启动时在命名空间中定义。
那么 - 当我进行组件启动时,有没有办法配置figwheel?我在关闭时仍然很新,所以很可能我在视线中遗漏了一些东西。
Passing state as parameter to a ring handler?是一个类似的问题,但是那里的答案涉及将处理程序绑定到命名空间顶层的var,这是我试图避免的。
答案 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"]