2017-03-17 38 views

回答

2

在這個時候,我認爲你不能這樣做。您需要退出當前的輪詢會話並重新啓動,以便在您的project.clj文件中添加添加到您的依賴關係中的新依賴項。事實上,figwheel文檔也建議在重新啓動輪輪之前運行lein clean,以確保不會收到一些舊代碼。

我認爲這個功能在路線圖上,但不是高優先級。能夠使此功能可靠地工作是相當複雜的 - 尤其是當您添加不同repl環境的複雜性時(例如使用揹負式和使用figwheel的蘋果酒)。

請注意,此限制僅適用於:project.clj中的依賴項。你可以動態地在你的cljs文件中添加:require行,並讓它們拾起(當然,庫已經在依賴關係列表中)。

我懷疑compcomp的一部分是確保類路徑已更新,並且已運行的所有使用classpath的進程都會以某種方式更新並確保所有已加載的類都會重新加載,以防依賴項更改那些已加載類的依賴關係以保留事情一致。

+0

我明白了。我想我會寫一個elisp函數,在我使用clj-refactor添加一個依賴項後自動爲我做。 –

+0

你可以編寫一個退出蘋果酒連接的elisp函數,然後再次啓動它們,但由於這隻需要幾個關鍵筆劃,所以它不會爲你購買太多。殺手是加載時間,elisp功能不會有幫助。 90%的時間,當你添加新的庫時,你只需要重新加載project.clj,這通常在一開始就發生,而且除非你增加了一些全新的功能,否則很少會出現。當你重構(ns ..)時,你不會想要使用它,當然這個輪輪可以處理它。 –

相關問題