/home/matstani/weblog

programming log.

[ClojureScript] リモートのfigwheelに接続する

ClojureScriptの開発ツールFigwheelを利用すると、ソースコードの変更時に自動的にブラウザにロードされるほか、付属のREPLでは、コンソールに入力したClojureScriptコードをブラウザ上で実行することができます。
この時に利用されるWebSocket接続ですが、デフォルトでは接続先がlocalhostになっています。
figwheelプロセスをリモートサーバで実行している場合、デフォルトでは以下のようなエラーがブラウザのJavaScriptコンソールに表示されます。

1
2
Figwheel: trying to open cljs reload socket
ws://localhost:3449/figwheel-ws/flappy-bird-demo のサーバへの接続を確立できませんでした。

接続先のホストは、project.cljでキー{:cljsbuild {:builds [{:figwheel {:websocket-host 接続先}]}}で指定できます。
リモートサーバのホスト名やIPアドレスを直接記述することもできますが、:js-client-hostを指定すると、location.hostの値を設定してくれるので便利です。
設定例)
project.clj

READMEにあるのですが、見逃していました。

Comments