0

shadow-cljs ホット リロードを機能させようとしましたが、うまくいきませんでした。project.clj ファイルで複数の設定を試しましたが、どれも機能しませんでした。これは私のproject.cljがどのように見えるかです:

:shadow-cljs {:nrepl {:port 8777}
                
                :builds {:app {:target :browser
                               :output-dir "resources/public/js/compiled"
                               :asset-path "/js/compiled"
                               :modules {:app {:init-fn my-app.core/init
                                               :preloads [devtools.preload]}}

                               :devtools {:http-root "resources/public"
                                          :http-port 8080
                                          :http-handler my-app.handler/dev-handler
                                          }}}}

:aliases {"watch"        ["with-profile" "dev" "do"
                          ["shadow" "watch" "app"]]}

:profiles
  {:dev
   {:dependencies [[binaryage/devtools "1.0.2"]]
    :source-paths ["dev"]} ;; <- this is the default from the template pointing to "dev", I've tried chaning it multiple times.
  }

実行すると、「アプリ」ビルドを実行する必要があるのは実行中lein watchだけであることがわかります。shadow-cljs watch appこれは、私の dev-handler がどのように見えるかです ( で参照:http-handler):

(def dev-handler (-> api-routes
                     wrap-params
                     wrap-json-response
                     wrap-keyword-params
                     wrap-json-params
                     wrap-multipart-params
                     wrap-reload
                     (wrap-resource "public")
                     (utils/cors-wrapper utils/cors-policy)
                     (utils/wrap-content-type-security)
                     (wrap-defaults (assoc-in site-defaults [:security :anti-forgery] false))))

:dev プロファイルの source-paths を に変更しようとしましたが、すべて["src"]の内部フォルダーを含めようとして["src/clj" "src/cljs" "src/cljc"]も成功しませんでした。私はlein new re-frame何も変更せずに新しいアプリをゼロから作成しようとしました. 、私は localhost:9630 に移動しました。これにより、ビルドを一覧表示する shadow-cljs ダッシュボードが表示され、[強制コンパイル] ボタンをクリックして、アプリのページに clojurescript アニメーションが表示されますが、再レンダリング/再読み込みは行われません。shadow-cljs のコンパイルが終了すると、コンパイルされたファイルが 0 個あることに気付きました。別の場所から source-paths 構成を取得していますか? 私がいる時はこんな感じです」

ここに画像の説明を入力

編集:おそらく、MobaXterm内でWSL2からxfceターミナルとemacsを使用してubuntuを実行していると言う価値がありますが、ホットリロードしないコード/アプリと関係があるのでしょうか?

4

1 に答える 1