在服务器和浏览器上使用Macchiato框架的CIDER

3
我正在尝试为后端和前端的macchiato项目设置CIDER。 lein new macchiato dumac +browser会给我一个相当复杂的project.clj,其中包含各种配置文件,其中我找到了:browser-dev:dev(用于服务器端)。
现在,每当我使用cider-jack-in-ClojureScript时,CIDER默认使用:dev配置文件,但显然不是在profiles.clj中定义的那个,因为节点脚本没有启动(第47行)。 不过,一旦我手动分派节点命令,我就可以愉快地编写服务器端。
我仍然不知道如何在Emacs中启动浏览器的REPL(我可以通过在终端手动输入“lein build-browser”来做到这一点,但即使我替换cider-nrepl依赖项,也无法连接到该nREPL)。这是CIDER文档中关于如何使用传统figwheel(如macchiato模板所示)的一行……它可能表明了问题:
确保:cljsbuild:figwheel设置位于Leiningen项目定义的根目录中。
显然,Macchiato的模板project.clj不符合此要求,因为这些设置嵌套在配置文件中。这是否意味着该模板与CIDER不兼容?转换到fighwheel-main会有帮助吗? (我不知道如何在如此复杂的project.clj中进行操作。)
有人成功将Macchiato与服务器和浏览器上的CIDER一起使用吗?

我现在有点不知所措,非常感谢任何提示,告诉我接下来可以尝试什么。

谢谢!

Oliver

1个回答

0

很不幸,我回答这个问题有点晚了,但是使用shadow-cljs实际上非常容易,而且可以做到你想要的:允许对服务器和/或浏览器JS运行时进行实时REPL访问。

:dependencies中包含macchiato/core,并为服务器和浏览器设置构建目标。例如启动shadow-cljs watch server browser,然后在连接到运行时的节点或浏览器进程后使用cider-connect/cider-connect-cljs


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接