[作为Clojurian的初学者,我可能需要一些帮助,以了解是否有任何方法可以解决使用苹果酒REPL的痛苦点。
上下文:我有一个全栈应用程序(后端上的limunius +前端上的re-agent / figwheel)。我从emacs / Cider Repl启动服务器,并且可以从该REPL访问正在运行的服务器的所有名称空间(非常方便)。
在另一个标签中,我运行:
lein figwheel
Figwheel: Cutting some fruit, just a sec ...
Figwheel: Validating the configuration found in project.clj
Figwheel: Configuration Valid ;)
Figwheel: Starting server at http://0.0.0.0:3449
Figwheel: Watching build - app
Compiling build :app to "target/cljsbuild/public/js/app.js" from ["src/cljs" "src/cljc" "env/dev/cljs"]...
Successfully compiled build :app to "target/cljsbuild/public/js/app.js" in 4.113 seconds.
Figwheel: Starting CSS Watcher for paths ["resources/public/css"]
Figwheel: Starting nREPL server on port: 7002
Launching ClojureScript REPL for build: app
所有cljs命名空间都可从此figwheel REPL / tab访问,但未连接到Cider / emacs,所以我只能在其中复制和粘贴。
是否有一种简单的方法将两个REPL都包含在emacs中并在它们之间快速切换?
或者您的典型工作流程是什么?您是否同时使用后端和前端REPL?抱歉,我只是在学习,所以我都需要:)
您绝对可以使用CIDER同时连接CLJ和CLJS。检查CIDER文档中的Managing Connections部分。 TL; DR:您可以使用C-c C-x c m
呼叫cider-connect-clj&cljs
。
话虽如此,对于CLJS来说,我通常是一个懒惰者,我在保存时离开了figwheel来重新编译,我检查前端是否看起来像我要执行的操作。
Edit:我的设置通常是两个垂直框架,左侧为代码,右侧为REPL,大多数情况下,评估与C-c C-e
内联的表达式,如果我需要跨越多行的内容,则可以编写它在名称空间末尾的(comment ,,,)
块上。我不经常使用C-C C-z
在代码和REPL之间切换。
[另外:我在最小的设置下就使用了Ubuntu 18.04中的普通Emacs 25,但是我遇到了使用Spacemacs拥有更为复杂的工作流程的人们。
当然可以!首先通过在端口7002(cider-connect-clj
)上打开的Figwheel: Starting nREPL server on port: 7002
连接到repl,然后在弹出的repl迷你缓冲区中运行(figwheel-sidecar.repl-api/cljs-repl)
。然后,您将具有与clj repl一起运行的功能齐全的cljs repl-您可以使用cider-switch-to-repl-buffer
在它们之间切换(在clj文件中将被带到clj repl,在cljs文件中将被带到cljs repl)