2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Cursive で Diracのセットアップ

Last updated at Posted at 2017-04-14

Chromeの開発者ツール上でClojureScriptのREPLを実行できるDiracというステキツールがあるんですが
今週Clojureの開発環境をEmacsからCursiveへ移行しようとした時になかなか動いてくれなかったので、
自分用のメモとして手順を残しておきます。

事前準備

  • Chrome Canary or Chromium をダウンロードする

  • ダウンロードしたブラウザをコマンドラインからパラメータを付与して起動

/path/to/chromium/chrome --remote-debugging-port=9222 --no-first-run --user-data-dir=/path/to/chrome-profile

    profileのパスは新規のパスでも大丈夫だと思います。

* ブラウザに[Dirac DevTool](https://chrome.google.com/webstore/detail/dirac-devtools/kbkdngfljkchidcjpnfcgcokkbhlkogi)プラグインをインストール


## project.cljを編集

* :cljsbuild -> :builds -> :app -> :compiler -> :preloadsを追加する

    ```clj
:cljsbuild
  {:builds {:min
            {:source-paths ["src/cljs" "src/cljc" "env/prod/cljs"]
             :compiler
             {:output-to "target/cljsbuild/public/js/app.js"
              :output-dir "target/uberjar"
              :optimizations :advanced
              :pretty-print  false}}
            :app
            {:source-paths ["src/cljs" "src/cljc" "env/dev/cljs"]
             :compiler
             {:main "reagent-test.dev"
              :asset-path "/js/out"
              :output-to "target/cljsbuild/public/js/app.js"
              :output-dir "target/cljsbuild/public/js/out"
              :source-map true
              :optimizations :none
              :pretty-print  true
              :preloads [dirac.runtime.preload]}} ;; <-ここを追加
  • :profiles -> :dev -> :repl-options を編集

:profiles {:dev {:repl-options {:init-ns reagent-test.repl
:port 8230 ;; <- ここを追加
:init (do ;; <- ここを追加
(require 'dirac.agent) ;; <- ここを追加
(dirac.agent/boot!)) ;; <- ここを追加
:nrepl-middleware [dirac.nrepl/middleware ;; <- dirac.nrepl/middlewareをエントリに追加
cemerick.piggieback/wrap-cljs-repl]}


* :profiles -> :dev -> :dependencies にdiracのエントリを追加

    ```clj
:profiles {:dev {
                   ;; ...省略
                   :dependencies [[ring/ring-mock "0.3.0"]
                                  [ring/ring-devel "1.5.1"]
                                  [prone "1.1.4"]
                                  [figwheel-sidecar "0.5.9"]
                                  [org.clojure/tools.nrepl "0.2.13"] ;; <- 0.2.12 から 0.2.13へ変更
                                  [com.cemerick/piggieback "0.2.2-SNAPSHOT"]
                                  [pjstadig/humane-test-output "0.8.1"]
                                  [binaryage/dirac "RELEASE"] ;; <- ここを追加
                   ;; ...省略

REPL(Dirac Agent)を起動

こんな感じで実行設定を作って実行
範囲を選択_189.png

上手く行くとこうなる(多分右上に新しいウィンドウができます)

image

Figwheel REPLを起動

こんな感じの実行設定を作って実行 or コマンドラインから lein figwheel を実行
image

上手く行くとこうなる(多分下の部分の実行ウィンドウにコンソールが流れます)
image

本当はここもClojure REPLで実行設定を作りたかったんですが、
ここに書かれている法だとpreloadsを読むときにdiracが見つからないとか言う訳のわからないエラーが出たので断念しました。。。。

ブラウザでlocalhost:3449にアクセスしてDiracのアイコンをクリック

image
Dirac DevToolの拡張をインストールするとこんなアイコンが出てくるはずなのでこれをクリックします。
すると、Chromeの開発者ツールのようなものが立ち上がって、console画面からREPLを実行出来るようになります。
Ctrl + .で普通のJavascriptのコンソールとClojureScriptのREPLを切り替えられます。
image

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?