我想使用figwheel重新加载我正在使用的all-clojure项目的前端。
后端服务于REST api,并被组织为一堆components,我在我的main函数(我使用duct来创建处理程序组件)中用它们创建了一个系统。我希望使用闭包将状态传递给我的处理程序,但是配置figwheel以使用我的处理程序的唯一方法似乎是在project.clj中设置ring-handler键,这要求我传递一个在lein启动时在名称空间中定义的处理程序。
那么,有没有办法在我启动组件的时候配置figwheel呢?我在闭包方面仍然是个新手,所以我很可能遗漏了一些显而易见的东西。
Passing state as parameter to a ring handler?也是一个类似的问题,但这里的答案涉及到将处理程序绑定到名称空间的顶级变量,这是我试图避免的。
发布于 2015-05-25 17:52:44
Figwheel不需要是一个操控者。您可以通过将this代码分解为一个组件来包装在服务器启动和运行时自动生成的组件,该组件是服务器组件的一个依赖项,因此它首先启动。请注意,这不是官方支持的。从shell运行lein figwheel来引导单独的JVM是一种常规用法。
如果您正在使用Stuart组件库,我建议您从服务器组件中包装环处理程序,而不是通过project.clj。对jetty组件使用this project or adapt the code snippet。
请注意,figwheel是开发工具,因此在生产环境中,您很可能希望提供一个编译后的js文件,例如使用lein-cljsbuild构建的文件。
发布于 2019-04-07 02:16:34
James Reeves为figwheel here制作了一个组件
风管-风轮-组件用于风轮开发工具的组件,设计用于风管框架(但可以在任何基于组件的系统中使用)。
安装
将以下依赖项添加到project.clj中:
[duct/figwheel-component "0.3.3"]
https://stackoverflow.com/questions/30418172
复制相似问题