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

问题描述 投票:8回答:2

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

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

那么 - 当我进行组件启动时,有没有办法配置figwheel?我在Closure仍然很新,所以我很可能会错过一些看得见的东西。

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

clojure ring
2个回答
2
投票

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

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

请注意,figwheel是devtooling,因此在生产中,您很可能希望提供使用e构建的已编译的js文件。 G。 lein-cljsbuild


0
投票

James Reeves为figwheel here做了一个组件

Duct-Figwheel-Component用于Figwheel开发工具的组件,设计用于Duct框架(但可用于任何基于组件的系统)。

安装

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

[duct/figwheel-component "0.3.3"]

© www.soinside.com 2019 - 2024. All rights reserved.