【问题标题】:How can I get figwheel to reload a website when a checkout dependency changes?当结帐依赖项发生变化时,如何让 figwheel 重新加载网站?
【发布时间】:2017-12-30 12:28:00
【问题描述】:

我正在开发两个相关的 Web 应用程序,它们都依赖于第三个本地项目来获取它们的共同代码。

在编辑结帐依赖项时,如何让 figwheel 重新构建和重新加载代码?

【问题讨论】:

  • 您能否举例说明您的项目现在的样子?你使用的是 lein 的 ./checkouts 目录吗?

标签: clojure clojurescript figwheel


【解决方案1】:

目前,Figwheel 不会自动检测 leiningen 结账。您需要将结帐源的源路径直接添加到您的 cljsbuild :source-paths。例如,如果你有类似的东西

  :cljsbuild {:builds [{:id           "dev"
                        :source-paths ["src" "dev"]
                        :figwheel     {:on-jsload       'my.main/mount-gui}
                        :compiler     {:output-to       ...
                                       :output-dir      ...
                                       :main            'my.main
                                      ...

那么你需要把它改成

  :cljsbuild {:builds [{:id           "dev"
                        ;; Add checkouts path here
                        :source-paths ["src" "dev" "checkouts/my-project/src"]
                        :figwheel     {:on-jsload       'my.main/mount-gui}
                        :compiler     {:output-to       ...
                                       :output-dir      ...
                                       :main            'my.main
                                      ...

一旦 figwheel 知道您的签出项目源路径,它应该在任何更改后自动重新编译,并重新加载代码,就像在您的主项目中的代码一样。

我正在开发一个pull request 来修复这个issue,它应该会在未来自动运行。

【讨论】:

    最近更新 更多