如何运行 后端server/code 重新构建模板?

How to run the backend server/code in re-frame template?

使用 lein re-frame template 我看到有一个 -main 函数 运行 是位于 clj/ 中的后端代码的码头服务器。使用 emacs,我已经能够使用 cider-jack-in-cljs 并在浏览器中获取前端 运行ning,热重载有效,但我已经尝试将路由添加到 [=25] 中的路由功能=] inside the clj/ 并且一直无法弄清楚如何让事情的“后端”工作。

我发现 其他问题有点相关,但在那种情况下,用户只想知道为什么 clj/ 文件夹在那里,而不是如何 运行 该代码。到目前为止我还没有找到任何文档,非常感谢任何帮助。

PD:我知道不建议将后端和前端放在同一个 project/repo 中(在我上面链接的另一个问题中提到过)但我只想让一个简单的“第一个应用程序”工作和 运行ning 首先,然后希望将后端输出到另一个 project/repo.

假设您使用类似 lein new re-frame myapp +handler 的内容创建了项目,启动服务器的代码在文件 src/clj/myapp/server.clj

您可以打开文件并 运行 cider-jack-in-clj,它会询问您是否要启动 leinshadow-cljs。由于它是 CLJ 文件,因此选择 lein。 CIDER 启动后,您可以计算 -main 函数(例如 (-main))以启动服务器。

您可以在 http://localhost:3000 打开 URL,Jetty 将提供已由 shadow-cljs 编译的资源,因此您将看到与查看相同的输出直接来自 CLJS 的其他端口。

请注意,模板中的后端代码会启动 Jetty 服务器,但不会帮助重新加载后端。要查看如何为后端启用热重新加载,请检查 https://github.com/ring-clojure/ring/wiki/Setup-for-development