2017-09-11 103 views
2

内设立Figwheel REPL我刚开始使用以下模板制作一个简单的cljs应用玩耍:麻烦苹果酒

lein new figwheel someproject -- --reagent

我希望使用REPL在苹果酒cljs开发相同的方式我通常会为一个正常的CLJ项目,所以我做了一些研究,并在这里结束了:

https://github.com/bhauman/lein-figwheel/wiki/Using-the-Figwheel-REPL-within-NRepl

我通过阅读说明书,并验证所有适当的依赖是我n project.clj(不需要改变任何东西,看起来像模板添加了我需要的所有东西)。在上面的链接的最后一步表明我需要将下面的代码添加到我的emacs配置:

(require 'cider) 
(setq cider-cljs-lein-repl 
     "(do (require 'figwheel-sidecar.repl-api) 
      (figwheel-sidecar.repl-api/start-figwheel!) 
      (figwheel-sidecar.repl-api/cljs-repl))") 

现在 - 我是一个Emacs福利局,所以我使用的设置仍是一个我第一从“Clojure的勇敢和真实”上获悉:

https://github.com/flyingmachine/emacs-for-clojure

我想首先把上面的代码片段中~/.emacs.d/init.el,但每当我试图M-x cider-jack-in ...,没有cider-jack-in-clojurescript选项。我也尝试将这个片段放入~/.emacs.d/customizations/setup-clojure.el,这看起来像是一个更合乎逻辑的家庭,但结果相同。

我真的很想能够让这个REPL启动并运行,所以任何帮助将不胜感激。

+1

作为一个emacs新手,我会**强烈建议使用Emacs发行版,它提供了您已经为您设置的所有内容。 [Emacs Prelude](https://github.com/bbatsov/prelude)和[Emacs Live](http://overtone.github.io/emacs-live/)是主要的竞争者 - 并且都是积极维护的,而不是你连接的那个,在过去的3 - 4年里似乎没有任何爱。 –

+1

谢谢@CharlesDuffy - 在我学习Clojure的同时,我尽量减少了在同一时间潜入emacs细节的负担 - 一次过多。我一直坚持使用这个设置,仅仅是因为我已经习惯了所有的包/默认等等,并且对于从头开始并确保我再次正确设置所有东西都非常谨慎。尽管我看到了你的观点,并且最终会转向更强健的方面。 – Solaxun

+0

@Solaxun [Spacemacs](https://github.com/syl20bnr/spacemacs)与[Clojure层](https://github.com/syl20bnr/spacemacs/tree/master/layers/%2Blang/clojure)也是一个好的开始。我也开始使用Brave和True设置,但Spacemacs提供了更好的默认设置和电池供应方式(例如,错误消息总是在同一个缓冲区中弹出,而不是随机弹出;'clj-refactor')。 Brave和True的键绑定也可以在那里工作,您可以通过按'''(主模式)并查看选项来发现其他人。 1.安装emacs。 2. d/l spacemacs。 3.将clojure添加到〜/ .spacemacs图层。 –

回答

2

我通常使用纯cider-jack-in,然后调用一切从REPL:

(use 'figwheel-sidecar.repl-api) 
(start-figwheel!) 
(cljs-repl) 

如果你想有两个repls,你可以在不同的REPL最后一步(cljs-repl)通过cider-connect打开。

如果你刚开始使用Emacs,我相信你最好的选择是Spacemacs:http://spacemacs.org/。 如果您有兴趣,我做了blog postvideo关于我的开发工作流程。

+0

您可以将'.spacemacs'添加到'custom-set-variables'下作为'(custom-set-variables <...> '(cider-cljs-lein-repl “(do(require'figwheel-sidecar.repl -api)(figwheel-sidecar.repl-api/start-figwheel!)(figwheel-sidecar.repl-api/cljs-repl))“)<...>) 然后这些步骤自动执行。 –