2017-03-17 5 views
0

Clojurescriptアプリに新しい依存関係を追加しました。フィギュアを再起動するために、(restart-figwheel)のような関数を実行できるかどうかを知りたいと思います。私は新しい依存関係を検出するためにFigwheelを再起動しなければならないと読んでいます。Ciderから、Emacsでは、フィギュホイールを再起動して新しい依存関係を検出する方法がありますか?

答えて

2

このとき、私はあなたがこれを行うことはできないと思います。現在のfigwheelセッションを終了し、project.cljファイルの依存関係に追加された新しい依存関係を取得するために再起動する必要があります。実際、figwheelのドキュメントでは、figwheelを再起動する前にlein cleanを実行して、古いコードで終わらないようにすることをお勧めします。

私はこの機能はロードマップにあると考えていますが、それは最優先事項ではありません。この機能を確実に動作させるにはかなりの複雑さがあります。特に、異なるレプリケージ環境(ピギーバック、サイダーをfigwheelで使用するなど)の複雑さを加える場合は特にそうです。

この制限は、project.cljの依存関係の項目にすぎないことに注意してください。 cljsファイルにrequire:行を動的に追加し、それらを取得させることができます(ライブラリはすでに依存関係のリストにあります)。

私は、クラスパスが更新されていること、クラスパスを使用して既に実行されているすべてのプロセスが何らかの形で更新されていること、および依存関係によってロードされたクラスの依存関係が変更される一貫したもの。

+0

です。私は、clj-refactorを使って依存関係を追加した後、自動的にそれを行うためのelisp関数を書きます。 –

+0

あなたはサイダー接続を終了してからもう一度起動するelisp関数を書くことができますが、これはすでにいくつかのキーストロークしか取っていないので、それほど多くを買っているわけではありません。キラーは負荷時間であり、elisp関数はそれを助けません。 90%の時間であれば、新しいlibsを追加するときにproject.cljをリロードするだけで済みます。通常は最初に実行されます。まったく新しい機能を追加しない限り後ではまれです。 figwheelがそれを処理するので、リファクタリング(ns ..)のときには使用したくないでしょう。 –

関連する問題