figwheel は ClojureScript の開発がモダンになる Leiningen プラグインです。
様々なエディターから使えますが、今回は IntelliJ で設定してみます(といっても公式のチュートリアルをなぞるだけです)
IntelliJ と Cursive の準備
IntelliJ には無料で使用できるコミュニティーエディションがあり、Cursive には無料で6ヶ月使用できる個人ライセンス(更新可能)があります。
- まず Cursive のサイトから
Non-Commercial
ライセンスを取得します。
- 必要事項を入力するとライセンスキーが記載されたメールが送られてきます。
- IntelliJ の Plugin の設定から Cursive をダウンロードして IntelliJ を再起動します。
- 再起動後、Cursiveがライセンスキーの入力を促す画面を表示するので、メールに記載されたライセンスキーを入力します
参考: https://cursive-ide.com/userguide/
Leiningen のインストール
-
公式サイトからインストールする
- Mac の場合は
brew install leiningen
でも可能
- Mac の場合は
あとは
lein new figwheel figwheel-test
とすれば、自動でテンプレートを取得し figwheel が有効になったプロジェクトの雛形を生成してくれる
IntelliJ/Cursiveの設定
-
project.clj
を以下の通り編集する-
figwheel-sidecar
を依存関係に加える -
lein-figwheel
をプラグインから削除する
-
:dependencies [[org.clojure/clojure "1.8.0"]
[org.clojure/clojurescript "1.9.671"]
[org.clojure/core.async "0.3.443"
:exclusions [org.clojure/tools.reader]]
[figwheel-sidecar "0.5.10"]] ; <- この行を追加する
:plugins [[lein-figwheel "0.5.10"] ; <- この行を削除する
[lein-cljsbuild "1.1.5" :exclusions [[org.clojure/clojure]]]]
-
scripts/repl.clj
ファイルを追加する- 以下のファイルを scripts ディレクトリ以下に配置する
(use 'figwheel-sidecar.repl-api)
(start-figwheel!) ;; <-- fetches configuration
(cljs-repl)
-
project.clj
の:source-path
にscripts
を追加する
:source-paths ["src" "scripts"]
- IntelliJ で REPL の設定を行う
-
Run > Edit Configuration
から Local REPL を設定する
-
- Local REPL を以下のように設定してOKをクリック
REPL に接続する
- 画面右上のスタートボタンから REPL を起動できます
- REPL上で
(js/console.log "hello from console")
などと打ち込んで実行すると、以下のように chrome のコンソールに反映されます。
- また、ソースコードを編集し保存した結果も、ブラウザ側に自動的に反映されます
- 試しに
core.clj
に(js/alert "hello")
と追記し保存すると、以下のように自動的に反映されます
- 試しに
以上で設定は完了です。
その他
figwheel は lein-cljsbuild
という ClojureScript のビルドを自動化してくれるプラグインを同時に利用しています。
それに関しては以下の記事が参考になりました。
ClojureScript 開発時の project.clj を理解する