2017-09-03 78 views
7

Mam makro, które slurps plik przeceniony z zasobów. Zapewnia wygodny sposób dostarczenia pewnych treści. Ale kiedy edytuję plik Markdown, Figwheel nie może wiedzieć, że potrzebuje ponownej oceny makra.Czy Figwheel ocenia kod ClojureScript, gdy zmienia się plik zasobów?

Umieszczenie przeceny w łańcuchu wewnątrz pliku cljs jest niepożądane, ponieważ ciągi znaków z liniami nowymi są wcięte przez większość edytorów Clojure, a to powoduje, że przecena jest niepoprawna (spacje wiodące mają znaczenie przy przecenianiu).

Czy istnieje sposób wykrywania/odświeżania po zmianie pliku obniżki? Lub lepsze rozwiązanie?

Tutaj jest podstawowym przykład co usiłuję zrobić: https://github.com/timothypratley/figwheel-watch-markdown-example

Odpowiedz

2

configs Figwheel pozwalają na dodawanie ::watch-paths które wyzwalają podczas przeładowywania zdarzenia modyfikacji pochodzić z systemu plików. Możesz także użyć ::hawk-options do odpytywania plików szukających zmian, które prawdopodobnie mogą być konieczne w niektórych środowiskach.

+2

Dzięki za pomysł ... Nie mogłem go uruchomić. https://github.com/timothypratley/figwheel-watch-markdown-example <- ustawienie ścieżek oglądania nie powoduje ponownej kompilacji ani ponownego ładowania. Czy jest coś, czego mi brakuje? –

+0

@TimothyPratley próbowałeś ustawić ['log-piszący'] (https://github.com/bhauman/lein-figwheel/blob/e47da1658a716f83888e5a5164ee88e59b2d8c1e/sidecar/src/figwheel_sidecar/components/file_system_watcher.clj#L26-L28) w 'opcjach serwera-rysownika'? Może to podpowiadać, co może się dziać z obserwatorem systemu plików. –

+1

Masz rację, ten wydaje się być trudniejszy, ponieważ system przeładowujący clj nie rozpoznaje, że plik clj z makrem ma zależność od plików innych niż Clojure, więc potrzebuje rekompilacji po zmianie. Postaram się jutro o tym pomyśleć. – Magos