2017-09-11 143 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))「)<...>) 然後這些步驟自動執行。 –